XL 2019 VBA Masquer des Colonnes si condition

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 !

dkterreur

XLDnaute Nouveau
Bonjour TLM ;

Je souhaite trouver un Code VBA permettant de Masquer des colonnes si elles ne contiennent pas des mots au choix en utilisant les cases à cocher .

Serait-il possible de m'aider svp ?
je peux cocher plusieurs case à la fois

Case à cocher A
Case à cocher B
Case à cocher C

Par exemple si je coche A ; dans le tableau ne s affiche que les colonnes qui contiennent le mot A , si je coche A et B dans le tableau ne s'affiche que les colonnes qui contiennent A et B...


ABCABCABC
 

Pièces jointes

Dernière édition:
Bonsoir @dkterreur,
Bienvenue sur XLD 🙂,

Notez que j'ai retiré les cases à cocher pour les remplacer par des cases ou cellules Excel beaucoup plus faciles à gérer.

Les codes se situent :
  • dans le module associé à la feuille nommée "Feuil5"
  • dans le module associé à ThisWorkbook

Module de Feuil5:
Remarquez l'emploi du mot clef Public à la place de ce que propose par défaut VBA qui est Private
VB:
Public Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x
   If Target.Count = 1 Then
      If Target.Column = 3 Then
         If Target.Row >= 7 And Target.Row <= 11 Then
            Application.ScreenUpdating = False
            If Target = "" Then Target = "x" Else Target = ""
            For Each x In Range("e7:s7")
               If x.Value = Target.Offset(, -1) Then x.EntireColumn.Hidden = Target <> "x"
            Next x
            Target.Offset(, -1).Select
         End If
      End If
   End If
End Sub

Module de ThisWorkbook:
VB:
Private Sub Workbook_Open()
Dim x
   Application.ScreenUpdating = False
   Sheets("Feuil5").Select
   For Each x In Range("c7:c11"): Worksheets("Feuil5").Worksheet_SelectionChange x: Next x
End Sub
 

Pièces jointes

Bonsoir @dkterreur,
Bienvenue sur XLD 🙂,

Notez que j'ai retiré les cases à cocher pour les remplacer par des cases ou cellules Excel beaucoup plus faciles à gérer.

Les codes se situent :
  • dans le module associé à la feuille nommée "Feuil5"
  • dans le module associé à ThisWorkbook

Module de Feuil5:
Remarquez l'emploi du mot clef Public à la place de ce que propose par défaut VBA qui est Private
VB:
Public Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x
   If Target.Count = 1 Then
      If Target.Column = 3 Then
         If Target.Row >= 7 And Target.Row <= 11 Then
            Application.ScreenUpdating = False
            If Target = "" Then Target = "x" Else Target = ""
            For Each x In Range("e7:s7")
               If x.Value = Target.Offset(, -1) Then x.EntireColumn.Hidden = Target <> "x"
            Next x
            Target.Offset(, -1).Select
         End If
      End If
   End If
End Sub

Module de ThisWorkbook:
VB:
Private Sub Workbook_Open()
Dim x
   Application.ScreenUpdating = False
   Sheets("Feuil5").Select
   For Each x In Range("c7:c11"): Worksheets("Feuil5").Worksheet_SelectionChange x: Next x
End Sub
je n arrive pas à telecharger le fichier

Oups ! Quelque chose ne va pas.​


La page demandée est introuvable.
 
- 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
10
Affichages
129
Réponses
18
Affichages
813
Réponses
11
Affichages
806
Retour