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

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:D").EntireColumn.Hidden = True
Case "Thème2"
Range("B:B").EntireColumn.Hidden = True
Range("C:C").EntireColumn.Hidden = False
Range("D:D").EntireColumn.Hidden = True
Case "Thème3"
Range("B:C").EntireColumn.Hidden = True
Range("D: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

  • Test MACRO.xlsm
    16 KB · Affichages: 24
  • Test MACRO.xlsm
    16 KB · Affichages: 74
  • Test MACRO.xlsm
    16 KB · Affichages: 24
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
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
 

sophia95

XLDnaute Nouveau
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
 

MP59

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

Bonjour,
voir un essai en fichier colonnes.
La macro est dans la feuille 1.
 

Pièces jointes

  • COLONNES.xls
    34 KB · Affichages: 36
  • COLONNES.xls
    34 KB · Affichages: 36
  • COLONNES.xls
    34 KB · Affichages: 34

phlaurent55

Nous a quittés en 2020
Repose en paix
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

  • 111.xlsm
    14.7 KB · Affichages: 24
  • 111.xlsm
    14.7 KB · Affichages: 32
  • 111.xlsm
    14.7 KB · Affichages: 41

Discussions similaires

Réponses
8
Affichages
424
Réponses
7
Affichages
316

Statistiques des forums

Discussions
312 163
Messages
2 085 863
Membres
103 007
dernier inscrit
salma_hayek