XL pour MAC Soucis de code vba

michel68100

XLDnaute Nouveau
Salut à tous

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
 

Pièces jointes

  • Vertical.xlsm
    25.4 KB · Affichages: 8

patricktoulon

XLDnaute Barbatruc
re
Bonjour
ben non ! ca fonctionne pas
heu..Mars fait plus de 28 jours je crois ;)
demo3.gif
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

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 ;))
 
Haut Bas