Sub Macro1()
'Chaine de référence pour les mois
mois = "JANVIER ,FEVRIER ,MARS ,AVRIL ,MAI ,JUIN ," _
& "JUILLET ,AOUT ,SEPTEMBRE,OCTOBRE ,NOVEMBRE ,DECEMBRE "
'Les codes couleurs pour chaque mois
couleur = "01,45,07,04,08,23,06,09,11,12,13,14"
' Date de référence = Mois en cours -1
début = DateAdd("m", -1, "01/" & Month(Now) & "/" & Year(Now))
' Désactive l'affichage accélére l'execution
Application.ScreenUpdating = False
' Boucle de démonstration pour construire 24 mois
For tourne = 0 To 23
' Mois à construire = mois de référence + 1 mois
MoisConstr = Month(DateAdd("m", tourne, début))
' Extraction du nom de mois de la chaine mois
Nommois = Trim(Mid(mois, 1 + 10 * (MoisConstr - 1), 9))
' Retrouve l'année du mois en construction
année = Year(DateAdd("m", tourne, début))
' Copy du modele vers la feuille du mois à construire
Sheets("Modele").Copy Before:=Sheets("Modele")
' la nouvelle feuille est active, donc l'on renomme la feuille active
ActiveSheet.Name = Nommois & année
' Mise en couleur de l'onglet de la feuille active
ActiveSheet.Tab.ColorIndex = Mid(couleur, 1 + (MoisConstr - 1) * 3, 2)
' Renseigne le premier jour de la cascade du calendrier
Range("B2:E2").Select
ActiveCell.FormulaR1C1 = DateAdd("m", tourne, début)
' Met le focus sélection sur B3
Range("B3").Select
' Si tourne <= 23 alors tourne = tourne +1 et reboucle juste en dessous du FOR
Next tourne
' Réactive le rafraichissement de l'affichage
Application.ScreenUpdating = True
End Sub