Masquer des colonnes

Bonsoir le forum,

J'ai beau avoir regarder sur le forum sur ce sujet mais je ne trouve pas de solution à mon problème. En fait je voudrais qu'en fonction du mois qui est spécifié dans une combobox ça masque des colonnes.

J'ai mis en pièce-jointe afin de mieux cerner mon problème.

Merci

9testcolonne.xlsm (380.56 Ko)

Bonjour,

pourquoi ne pas tout dire et nous laisser deviner quelles colonnes ????

Private Sub ComboBox_mois_Change()
        Dim dernier As Long
        Sheets("BDH").Range("AG6") = ComboBox_mois.Value
        dernier = Day(DateAdd("m", 1, [B13]) - 1)
        [AD:AF].EntireColumn.Hidden = True
        [B:B].Resize(, dernier).EntireColumn.Hidden = False
End Sub

Pas pu tester, j'ai un pb avec mon excel. Mais l'idée est là

eric

Edit : 12 Mo pour ça, sérieux ?

Fait Ctrl+Fin sur ta feuille et tu verras le soucis. On ne doit utiliser que les lignes utiles.

Bonsoir eriiic, bonsoir le forum,

Oui effectivement je n'ai pas été très explicite pour le coup, je m'en excuse.

Les colonnes à masquer en fonction des mois sont les colonnes AD à AF.

J'ai intégré ton code dans la Combobox_Poste_Change car je le possède déjà pour faire fonctionner celle qui est sur l'onglet GTA et malheureusement sans succès, elles ne se masquent pas.

Voici le code déjà en place (sans ton code):

Private Sub CombBox_mois_Change()
    With Sheets("GTA").ComboBox_mois
        Sheets("BDH").[ag6] = ComboBox_mois.Value
        .Clear
        For i = 1 To 12
            .AddItem Format(DateSerial(1, i, 1), "mmmm")
        Next
        .ListIndex = 0
    End With
End Sub

Que veux-tu dire par

Edit : 12 Mo pour ça, sérieux ?

Fait Ctrl+Fin sur ta feuille et tu verras le soucis. On ne doit utiliser que les lignes utiles.

Teste mon code et on en rediscute stp

Ben je veux dire : Fait Ctrl+Fin sur ta feuille et regarde

Tu colles sur 1 million de lignes, ça te fait un fichier obèse, long à charger et à enregistrer pour rien.

eric

Teste mon code et on en rediscute stp

Ben je veux dire : Fait Ctrl+Fin sur ta feuille et regarde

Tu colles sur 1 million de lignes, ça te fait un fichier obèse, long à charger et à enregistrer pour rien.

eric

Je l'ai tester mieux et c'est bon ça les masquent mais le soucis est qu'en fonction du mois ça ne bouge pas, les colonnes restent tout de même masqué.

En fait, par mois, je voudrais que ça masque ou affiche les colonnes, par exemple:

Janvier=toute afficher

Février=jusqu'à AD reste afficher (AC en année bissextile)

Mars=toute afficher

Avril =jusqu'à AE etc.

Ben je veux dire : Fait Ctrl+Fin sur ta feuille et regarde

Tu colles sur 1 million de lignes, ça te fait un fichier obèse, long à charger et à enregistrer pour rien.

J'ai fais Ctrl+Fin et ça me mets à une cellule pour mon premier onglet (BI35), ça a sans doute garder l'ancien tableau que j'avais fait. j'ai pourtant fait supprimer les colonnes et lignes mais ça me mets toujours sur la même cellule.

J'avais compris tout seul vu que tu n'expliquais pas. Ca ne peut que fonctionner :

dernier = Day(DateAdd("m", 1, [B13]) - 1)

nombre de jours du mois en B13

[AD:AF].EntireColumn.Hidden = True

masque les 3 dernières colonnes

[B:B].Resize(, dernier).EntireColumn.Hidden = False

affiche selon le nombre de jours du mois.

Ne modifie rien et teste encore mieux...

Sinon dépose un fichier de ce que tu as fait.

eric

C'est bon en cherchant mieux j'ai modifié B13 par B12 et ça fonctionne bien.

Même si je n'ai pas été très explicite dans ma demande merci pour ton aide

Rechercher des sujets similaires à "masquer colonnes"