Masquer une série de colonne selon la valeur d'une liste

  • Initiateur de la discussion Initiateur de la discussion Opus185
  • Date de début Date de début

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 !

Opus185

XLDnaute Nouveau
Bonjour,

j'aimerais créer un code qui me permettra de masquer une série de colonne selon la valeur d'une liste déroulante. La sélection se fait en E2 et contient le nom d'employés (liste sur la feuille 2 du fichier joint). Les employés ont tous une série de 8 colonnes associées à eux.

Le but est de cacher les colonnes jusqu'à l'employé sélectionné (volets figés juste avant le premier employé), pour avoir accès rapidement aux colonnes de cet employé, sans défiler vers la droite.

L'option TOUS affiche toutes les colonnes (aucune autre cachée dans la feuille, donc peut être toutes les colonnes de la feuille).

Merci d'avance!
 

Pièces jointes

Re : Masquer une série de colonne selon la valeur d'une liste

Bonjour Opus185, bienvenue sur XLD,

Macro à placer dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim col As Variant
col = Me.UsedRange.Columns.Count + Me.UsedRange.Column - 1
If Intersect(Target, [E2]) Is Nothing Or col < 7 Then Exit Sub
With Range("G2", Cells(2, col))
  .EntireColumn.Hidden = [E2] <> "TOUS"
  col = Application.Match([E2], .Cells, 0)
  If IsNumeric(col) Then _
    .Cells(1, col).Resize(, 8).EntireColumn.Hidden = False
End With
End Sub
A+
 
- 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

Retour