Voila j'ai fait un calendrier automatique vertical qui masque les lignes des mois en 30 pour ne pas afficher le 31, mais j'ai un soucis avec le code. Je vous joint le fichier
Sub Masquer_Jour()
Dim Num_Ro As Long
For Num_Ro = 34 To 36 ' Boucle sur les cellules des jours 29, 30 et 31
If Month(Cells(6, Num_Ro)) <> Cells(1, 1) Then
Rows(Num_Ro).Hidden = True
Else
Rows(Num_Ro).Hidden = False
End If
Next
Range("C6:C36").ClearContents 'Supprime le contenu dans les cellules
End Sub
Une autre façon de faire
(il faudra revoir les MFC)
VB:
Sub CreeMois()
[A6:A36] = ""
ANNEE = [A2] + 2015: PRJ = DateSerial(ANNEE, [A1], 1)
X = Day(DateSerial(ANNEE, [A1] + 1, 0))
[A6] = PRJ: [A6].Resize(X).DataSeries 2, 3, 1, 1
End Sub
Il faut affecter cette macro au deux zones combinées
(Et plus besoin de formule en A6:A36)
PS: On pourrait faire en sorte d'utiliser aucune macro
(juste formules et MFC et zone combinée)
C'est d'ailleurs ce qu'on devrait toujours commencer par faire D'abord les fonctions natives d'Excel!
(et passer par VBA juste pour le fun ou pour les jours sans pluie )