Essayez le code comme ceci
Sub MAJ_debut_semaine()
' MAJ_début_semaine Macro
If Weekday(Format(Date, "dd-mm-yyyy"), 2) <> 1 Then
MsgBox "Vous ne pouvez exécuter cette commande que le lundi !": Exit Sub
End If
Dim i As Byte, dlg As Byte
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Synthèse" Then
With Sheets(i)
dlg = .Range("B" & Rows.Count).End(xlUp).Row
.Range("D2:H" & dlg).ClearContents
.Range("D1") = Format(Date, "dd-mm-yyyy")
End With
End If
Next i
End Sub
Réassociez le code à votre bouton (j'ai enlevé l'accent sur le mot "debut")
Le code va faire ceci :
- Vérifier que vous n'êtes bien un Lundi
- Balayer toutes les feuilles pour effacer les données et mettre la date en D1
Evitez les accents dans les codes et aussi dans le nom de vos feuilles si vous faites appel à VBA. Idem pour les espaces. C'est toujours source d'erreur.
Pour le test, j'ai laissé l'accent sur Synthèse mais vous pourriez aussi l'enlever du nom de votre onglet et adapter dans le code
Dites moi si ok
Cordialement