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
 

Fichiers joints

haonv

XLDnaute Occasionnel
bonjour,

En remplaçant :
If Month(Cells(6, Num_Ro)) <> Cells(1, 1) Then

Par :
If Month(Cells(Num_Ro, 1)) <> Cells(1, 1) Then

Ça devrait être bon.

Cordialement
 

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

Discussions similaires


Haut Bas