Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Filtrer des colonnes

  • Initiateur de la discussion Initiateur de la discussion boutinmatth
  • 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 !

B

boutinmatth

Guest
Bonjour

Vous trouverez en pièce jointe un document excel

J'aimerais pouvoir cocher un type de chantier (sur ligne 4) et que cela masque les autres colonnes

A titre d'exemple:

Si j'ai un "marché de travaux privés" je coche C4

et cela masque les autres colonnes : B / C / F / G / H / I / J / k comme un filtre

N'étant pas un expert je me rapproche de vous

Merci d'avance
 

Pièces jointes

Re : Filtrer des colonnes

Bonjour Boutinmatth, bonjour le forum,

En pièce jointe ton fichier modifié. La macro agit au double-clic dans une des cellules de la ligne 4.
Le code :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pl As Range 'déclare la variable pl (PLage)
Dim ca As Range 'décalre la variable ca (Colonnes à Afficher)

Set pl = Application.Union(Columns(2), Columns(4), Columns(6), Columns(8), Columns(10)) 'définit la plage pl
If Application.Intersect(Target, pl) Is Nothing Then Exit Sub 'si le double-clic a lieu ailleurs que dans la plage pl, sort de la procédure
If Target.Row <> 4 Then Exit Sub 'si le double-clic a lieu ailleurs que dans la ligne 4, sort de la procédure (ligne à supprimer éventuellement)
Cancel = True 'interdit le mode "Édition" lié au double-clic
Target.Value = IIf(UCase(Target.Value) = "X", "", "X") 'édite la cellule double-cliquée ("X" si la cellule est vide, Rien si la cellule contenait déjà un "X")
Select Case Target.Value 'agit en fonction de de la valeur de la cellule éditée
    Case "X" 'cas "X"
        Set ca = Target.Resize(1, 2) 'de'finit la plage ca
        Cells.EntireColumn.Hidden = True 'masque toutes les cellules
        ca.EntireColumn.Hidden = False 'affiche les colonnes de ca
    Case Else 'autres cas
        Cells.EntireColumn.Hidden = False 'affiche toutes les cellules
End Select 'fin de l'action en fonction de la cellule éditée
Target.Select 'sélectionne la cellule éditée
End Sub
Le fichier :
 

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
644
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…