'si on ferme le fichier il va se réouvrir automatiquement pour exécuter la macro aussi longtemps que le sub arret macro ontime n'est pas exécuté.
Public montemps
Sub MaMacro()
MsgBox "bonjour"
Call start_macro_ontime
End Sub
Sub start_macro_ontime()
montemps = TimeValue(Now + TimeSerial(0, 0, 15))
Application.OnTime montemps, "MaMacro"
End Sub
Sub arret_macro_ontime()
Application.OnTime montemps, "MaMacro", schedule:=False
End Sub