Masquer et afficher des colonnes en fonction d'une valeur d'une liste déroulante

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sophia95

XLDnaute Nouveau
Bonjour,

J'ai un niveau débutant pour Excel et j'ai beaucoup de mal à réaliser une macro.
J'espère que vous aller pouvoir m'aider.
Je vous explique le problème:

- Une colonne A nommée "Thème" contient des cellules avec une liste déroulante.

- En fonction de la valeur choisie, certaines colonnes doivent être affichées d'autres doivent être masquées.

- Cette fonctionnalité doit être automatique et applicable à toute la colonne A.

Pour des raisons de confidentialité, j'ai réalisé en PJ un petit fichier test qui explique le cas.

Par exemple,

lorsque la valeur est "Thème1" ==> colonnes C et D cachées, colonne B affichée.
"Thème2" ==> colonnes B et D cachées, colonne C affichée.
"Thème3" ==> colonnes B et C cachées, colonne D affichée.

Depuis 2 jours, j'essaye de bidouiller le code que j'ai trouvé mais ça ne fonctionne pas.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Thème As String

If Not Intersect(Target, Range("A2")) Is Nothing Then

Thème = Range("A2").Value
Range("a:z").EntireColumn.Hidden = False

Select Case Thème
Case "Thème1"
Range("B:B").EntireColumn.Hidden = False
Range("C😀").EntireColumn.Hidden = True
Case "Thème2"
Range("B:B").EntireColumn.Hidden = True
Range("C:C").EntireColumn.Hidden = False
Range("D😀").EntireColumn.Hidden = True
Case "Thème3"
Range("B:C").EntireColumn.Hidden = True
Range("D😀").EntireColumn.Hidden = False
Case Else
Range("a:z").EntireColumn.Hidden = False
End Select

End If
End Sub

Merci beaucoup de votre aide!!
 

Pièces jointes

Dernière édition:
Re : Masquer et afficher des colonnes en fonction d'une valeur d'une liste déroulante

Bonjour Sophia, et bienvenue sur le forum

sans voir le fichier, difficile de te répondre avec précision

Que contient la cellule A2 ?
- des chiffres, 1 ou 2 ou 3 ?
- du texte: Thème1 ou Thème3 ou Thème3

il est nécessaire d'avoir une concordance entre le contenu de la cellule testée et ce que tu mets à la suite de "Case"

à+
Philippe
 
Re : Masquer et afficher des colonnes en fonction d'une valeur d'une liste déroulante

Bonjour Philippe,

la cellule A2 est une liste déroulante qui permet de choisir 3 valeurs: "Thème1", "Thème2" et "Thème3".

Mon fichier n'est-il pas accessible?

Merci de ton aide 🙂

Sophia
 
Re : Masquer et afficher des colonnes en fonction d'une valeur d'une liste déroulante

Re,

Erreur de débutante, le code était placé au mauvais endroit

Attention ,"Thème3" était suivi d'un espace dans la liste de validation
j'ai corrigé

à+
Philippe
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
619
Retour