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!!
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: