'lu Nicolas !, 'lu le Forum ('ol <===== LOL Abrégé !!!)
Non, je comprends tes besoins et je persiste, sans faire d'usine à gaz en jouant (aléatoirement) avec les menus et autres commandbars, il suffit d'une ch'ti Boolean que l'on va nommer "SaveAuthorized" et elle fera l'affaire...
Dans un Module Standard : (en haut de celui-ci, en dehors de toute Sub)
Public SaveAuthorized As Boolean
Dans le Private Module de Feuille qui contient le commandButton d'enregistrement)
Private Sub CommandButton1_Click()
SaveAuthorized = True
ThisWorkbook.Save '(si on doit sauver le classeur à ce stade)
TaMacroTransfer '(soit tu appelles la macro soit tu place ta procédure ici)
SaveAuthorized = False 'on remet la boolean en verrou
End Sub
Dans le Private Module ThisWorkBook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAuthorized = True Then Exit Sub 'on sort si le "verrou" n'est pas locked sinon...
Cancel = True
MsgBox "Non Non on ne Sauve Pas, LOL"
End Sub
Voilà ce n'est pas plus compliqué que çà... Et aucun risque de laisser Excel "en désordre" une fois ton programme exécuté...
Bon Aprèm
@+Thierry