Private Sub Workbook_Open()
Dim m As Byte 'déclare la variable m (Mois)
Dim j As Byte 'déclare la variable j (Jour)
m = Month(Date) 'définit la variable m
j = Day(Date) 'définit la variable j
With Sheets("Caché") 'prend en compte l'onglet "caché"
If m <> .Range("A1").Value Then 'condition 1 : si le mois de la date en cours est différent du mois inscrit en A1
.Range("A1:A3").ClearContents 'efface la plage A1:A3
If .Range("A1").Value = "" Then .Range("A1").Value = m 'si A1 est vide, donne à A1 la valeur du mois de la date en cours
If j < 15 Then 'conditin 2 : si je jour de la date en cours est inférieur a 15
If .Range("A2").Value = "" Then .Range("A2").Value = j 'si A2 est vide, donne à A2 la valeur du jour de la date en cours
Else 'sinon (condition 2)
If .Range("A3").Value = "" Then .Range("A3").Value = j 'si A3 est vide, donne à A3 la valeur du jour de la date en cours
End If 'fin de la condition 2
End If 'fin de la condition 1
If j < 15 Then 'condition : si le jour de la date en cours est inférieur à 15
If .Range("A2").Value <> "X" Then 'condition 2 : si A2 est différent de "X"
Call Ma_Macro 'appelle la macro "Ma_Macro"
.Range("A2").Value = "X" 'place "X" en A2
End If 'fin de la condition 2
End If 'fin de la condition 1
If j >= 15 Then 'condition : si le jour de la date en cours est supérieur ou égal à 15
If .Range("A3") <> "X" Then 'condition 2 : si A3 est différent de "X"
Call Ma_Macro 'appelle la macro "Ma_Macro"
.Range("A3").Value = "X" 'place "X" en A2
End If 'fin de la condition 2
End If 'fin de la condition 1
End With 'fin de la prise en compte de l'onglet "caché"
End Sub