Sub MacroAExecuter()
'
Dim DejaExecutee As Boolean
'
For i = 1 To ActiveWorkbook.Names.Count
With ActiveWorkbook.Names(i)
If .Name = 'Exec' Then
If DateValue([Exec]) = DateValue(Now) Then
DejaExecutee = True
End If
End If
End With
Next
If Not DejaExecutee Then
ActiveWorkbook.Names.Add Name:='Exec', RefersToR1C1:='=''' & DateValue(Now) & ''''
Else
reponse = MsgBox('Macro déjà exécutée ce jour.' & vbNewLine & _
'Voulez-vous l'exécuter à nouveau ?', vbYesNo)
If reponse = vbNo Then Exit Sub
End If
' ...
' Ton code
' ...
End Sub