Voici le nouveau code pour votre variante :
Dans le WorkBook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If MAJ Then Mouchard
End Sub
Private Sub Workbook_Open()
MAJ = False
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'ici on détecte les mises à jour dans les cellules de toutes les feuilles
'Mouchard 'Appel de la macro (mis en commentaire pour la variante "sur Enregistrer"
MAJ = True
End Sub
Dans le Module
Public MAJ As Boolean
Sub Mouchard()
Application.EnableEvents = False ' on désactive les événements
Range("MOUCHARD") = Now ' La cellule nommé MOUCHARD (dans le fichier c'est D4 de la feuille 1
Application.EnableEvents = True ' on réactive les événements
End Sub
Je vous invite à consulter le Cours VBA à la rubrique Evénements mais pas seulement, pour vous familiariser avec le Code VBA où comme vous pouvez le constater sur le code pour la variante, il n'y a rien de vraiment sorcier.