Macro qui ne s'effectue qu'une seul fois

Bonjour pratiquant d'excel !

j'ai une macro qui s'effectue avant chaque sauvegarde du fichier :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

' avant la sauvegarde
Call report

End Sub

et dans ma macro l'une des premier ligne c'est " si aujourd’hui = lundi " alors on effectue la macro

cependant le Lundi elle va toujours s'effectuer à chaque fois que je vais quitter le document pour le sauvegarder.

Le document est amené à être ouvert, enregistrer et fermé plusieurs fois dans la journée par des personnes différentes,

C'est pourquoi je voudrai savoir si c'est possible, d'avoir un processus qui permet de :

si la macro à déja été effectué aujourd’hui ( donc le lundi) alors end sub sinon je l'effectue)

Cordialement petit moussa 12ans

Bonjour,

Un début de réponse à méditer.

Cdlt.

Sub xxx()
Dim d As Date
    d = ActiveWorkbook.BuiltinDocumentProperties("last save time")
    If Int(d) = Date And Weekday(d) = 2 Then Exit Sub
End Sub

en terme de code je ne comprends pas très bien ce que tu m'as communiqué si tu pouvais me le traduire en Francais

parce que je vois pas comment je peux le tester

Cordialement

Re,

l'exemple récupère la date et l'heure du dernier enregistrement du fichier.

Si la date est la date du jour et si le jours est un lundi on quitte la procédure…

Cdlt.

Sub xxx()
Dim d As Date
    d = ActiveWorkbook.BuiltinDocumentProperties("last save time")
    If Int(d) = Date And Weekday(d) = 2
     Then Exit Sub
   Else
     Msgbox "Coucou"
  End If    
End Sub
Rechercher des sujets similaires à "macro qui effectue seul fois"