Bonjour,
Private Sub Workbook_Open()
If Year(Date) * 100 + Month(Date) > Year([A1]) * 100 + Month([A1]) Then
Macro1
[A1] = Date
End If
End Sub
Une petite explication pour montrer que j'ai apprécié la solution de eriiic .
En supposant que nous sommes le 01/11/2012 et que la dernière sauvegarde a été faite le 01/10/2012.
Cette derniere date de sauvegarde est enregistrée dans A1.
A l'ouverture du classeur, la procédure Workbook_Open() est lancée.
Year(Date) * 100 + Month(Date) => 2012 * 100 + 11 = 201211.
Year([A1]) * 100 + Month([A1]) = > 2012 * 100 + 10 = 201210.
Le premier nombre étant supérieur au second, la Macro1 va être exécutée, puis la date du jour est enregistrée dans A1.
Les jours suivants, les 2 nombres seront égaux (201211) et la Macro1 ne sera pas lancée.
La prochaine sauvegarde aura lieu au changement de mois.
A+