Masquer colonne selon le texte d'une liste déroulante

Bonjour bonjour

J'ai un tableau dont je veux masquer certaines colonnes lorsque je fait le choix dans la liste déroulante. Étant novice en vba je sais pas comment m'y prendre. J'ai bidouillé quelque code mais ça bosse pas. Je joins une PJ

Merci de me venir en aide

8classeur1.xlsm (17.03 Ko)

Bonjour,

La façon que tu as codé, l'un annule l'autre.

Voici un essai qui fonctionne ...

Private Sub Worksheet_Change(ByVal Target As Range)

    Range("E:L").EntireColumn.Hidden = True

    Select Case Range("B1")
        Case "text1"
            Range("E:F").EntireColumn.Hidden = False
        Case "text2"
            Range("G:H").EntireColumn.Hidden = False
        Case "text3"
            Range("I:J").EntireColumn.Hidden = False
        Case "text4"
            Range("K:L").EntireColumn.Hidden = False
        Case Else
            Range("E:L").EntireColumn.Hidden = True
    End Select
End Sub

ric

Grand merci ric. Ça bosse nickel.

J'ai une inquiétude en plus. Si ma liste déroulante est longue c'est comme ça je vais procéder pour chaque texte de la liste? Ou bien y'a une autre alternative ?

Merci pour l'attention

Bonjour,

Il y a souvent plusieurs façons d'élaborer le code > certaines sont plus avantageuses ou moins contraignantes que d'autres.

Si l'ouvrage est toujours "text1 à textX" c'est une chose. Mais, si c'est plutôt "pruneau, banane, cerise, etc." c'est autre chose.

... Si ma liste déroulante est longue ...

Longue jusqu'à combien ? 20, 50, 200, 5000 ??

ric

Comme tu l'as dit il y aura différents noms d'ouvrages.

La liste comporte 20 noms

Bonjour,

À 20 noms, "Select Case" reste utilisable.

ric

OK cool.

Merci pour ta disponibilité

Rechercher des sujets similaires à "masquer colonne texte liste deroulante"