Ok, je crois comprendre.
A ma connaissance, il n'y a pas de propriété intégrée qui détecte une modification par l'utilisateur.
Il faut donc le gérer. Pour cela, il y a du code à mettre derrière la (les) feuille(s) sur laquelle on veut détecter la modif (editeur VBA, clic droit sur la feuille, code...)
Private Sub Worksheet_Change(ByVal Target As Range)
gIsModified = True
End Sub
Dans un module VBA :
Global gIsModified As Boolean ' Variable globale qui contiendra vrai en cas de modification
Function GetDateModif() As Date
GetDateModif = ActiveWorkbook.BuiltinDocumentProperties("Last save time")
End Function
Sub auto_close() ' fonction appelée automatique lors de la fermeture du classeur
If gIsModified Then
Range("feuil1!a1") = GetDateModif()
End If
End Sub
Sub auto_open() ' fonction appelée lors de l'ouverture du classeur
gIsModified = False ' init. var. globale
End Sub
Petite remarque d'ordre général à tout les concepteurs de macros et autres adeptes du VBA :
Ayant moi même régulièrement à maintenir de nombreuses soi-disant applications EXCEL, je pense qu'il faut éviter de développer des usines à gaz sous EXCEL (ou Word mais qui remporte, curieusement moins de succès) même si techniquement c'est possible.
Au delà du service immédiat que va rendre la petite appli, il faut essayer de voir plus loin et penser à la pérennité du truc (et surtout au pauvre programmeur qui va devoir reprendre un jour l'appli pour la maintenir ou la faire évoluer, si vous faites ça dans un milieu professionnel) et aussi aux limites inhérentes à EXCEL.
Je me souviens d'un utilisateur qui m'avait appelé au secours pour son appli qui ne fonctionnait plus : il avait atteint la limite maudite des 65536 lignes et forcément on ne pouvait plus rajouter d'enregistrement ... pardon, de ligne. Et dans ce cas, là, c'est pas facile à expliquer à l'utilisateur désespéré qu'on ne va pas pouvoir lui développer un truc pour remplacer ça en 1 heure....
Enfin, je dis ça, je dis rien, hein ....