Office 365 Code Macro - suppression colonne calendrier automatique

Tibs

XLDnaute Nouveau
Bonjour à tous,

J'ai un petit souci de codage pour faire marcher ma Macro.
J'ai créé un calendrier automatique sur 10 ans.
Le but de la macro est de supprimer pour tous les mois concernés et sur toutes les années les colonnes des jours en trop
(Exemple : février 2019 > supprimer les colonnes apparaissant après le 29/02 : 01/03, 02/03, 03/03 ou encore supprimer les jours après les 30 de chaque mois à 30 jours mais garder les 31 pour les mois à 31 jours).
Voici le code essayé mais j'ai une erreur dedans (ligne rouge= :

Sub Masquer_Jour()
Dim Num_Col As Long
For Num_Col = 30 To 32 ' Boucle sur les cellules des jours 29, 30 et 31
If Month(Cells(5, Num_Col)) >= Cells(1, 1) Then
Columns(Num_Col).Hidden = True
Else
Columns(Num_Col).Hidden = False
End If
Next
Range("B6:AF13").ClearContents 'Supprime le contenu dans les cellules
End Sub

En pièce jointe mon fichier.

Quelqu'un auraot une solution svp ?

Merci !
 

Fichiers joints

job75

XLDnaute Barbatruc
Bonsoir Tibs, bienvenue sur XLD,

Voyez le fichier joint et cette macro dans le code de la feuille "Calendrier" (clic droit sur l'onglet et Visualiser le code) :
VB:
Private Sub Worksheet_Calculate()
Dim mois As Byte, c As Range
mois = [C1]
For Each c In [AE5:AG5]
    c.EntireColumn.Hidden = Month(c) > mois
Next
End Sub
Elle se déclenche quand des formules de la feuille sont recalculées.

Bonne nuit.
 

Fichiers joints

patricktoulon

XLDnaute Barbatruc
Bonjour
il te manque le mois de juillet dans ta liste ce qui fosse toutes tes formules apres ce mois car décembre donnait 11
j'ai ajouté une formule pour le nombre de jour et modifié la formule du 29,30,31
et voila tu a "**" la ou les jour n'existent pas selon les mois

mapomme on s'est croisé j'ai pas vu pour les années;)
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas