Masquer des colonnes automatiquement en fonction du mois

Bonjour,

J'ai lu différents posts à ce sujet mais je n'arrive pas à réaliser la macro... Je suis une grande débutante.

J'aimerais masquer les colonnes automatiquement sur les onglets "Data1" et "Data2" en fonction du mois qui se trouve sur la page de garde (cellule B1). Dans les onglets "Data1" et "Data2", si D1 à AM1 ne contiennent pas le mois en cours, alors je voudrais masquer les colonnes.

Pouvez vous m'aider svp?

Merci d'avance!

16classeur1.xlsx (10.09 Ko)

Bonjour,

Une proposition en pièce jointe.

Cordialement.

45ophelie007.xlsm (18.82 Ko)

Merci beaucoup, c'est super!!

Je vais l'appliquer dans mon fichier.

Bonne journée

Oups !

Tu devras apporter une correction pour prendre en compte le décalage des mois :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ws1 As Worksheet, Ws2 As Worksheet
Dim Num_Col As Integer
    Set Ws1 = Worksheets("Data1")
    Set Ws2 = Worksheets("Data2")
    Application.ScreenUpdating = False
    If Not Intersect(Target, Range("B1")) Is Nothing Then
        Num_Col = ((Month(Target) + 8) Mod 12) + 4
        Ws1.Columns("D:AM").EntireColumn.Hidden = True
        Ws1.Columns(Num_Col).Hidden = False
        Ws1.Columns(Num_Col + 12).Hidden = False
        Ws1.Columns(Num_Col + 24).Hidden = False
        Ws2.Columns("D:AM").EntireColumn.Hidden = True
        Ws2.Columns(Num_Col).Hidden = False
        Ws2.Columns(Num_Col + 12).Hidden = False
        Ws2.Columns(Num_Col + 24).Hidden = False
    End If
    Application.ScreenUpdating = True
End Sub

Cordialement.

Rechercher des sujets similaires à "masquer colonnes automatiquement fonction mois"