masquer des lignes en fonction du choix d'une liste déroulante

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

mig_59

XLDnaute Junior
Bonjour à tous le forum

Petit souci avec ma macro
J'ai une liste déroulante et en fonction du choix, je dois masquer des lignes
dans mon exemple lorsque je sélectionne rien, tout est masqué (normal)

Si je sélectionne toto, uniquement les lignes toto doivent apparaitre les autres doivent se masquer
Si je sélectionne tata, uniquement les lignes tata doivent apparaitre les autres doivent se masquer

J'ai cherché des exemples mais pas trouvé
je sais faire mais uniquement pour une seule sélection

Merci pour votre aide
 

Pièces jointes

Re : masquer des lignes en fonction du choix d'une liste déroulante

Bonjour Mig59
Voici ton PB résolu je pense avec ceci
Bruno
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then
   Rows("5:65000").Hidden = False
      If [B3] = "" Then Exit Sub
  For lig = 5 To [A65000].End(3).Row
    If Target.Value <> Cells(lig, 1) Then Rows(lig).Hidden = True
  Next
End If
End Sub
 
Dernière édition:
Re : masquer des lignes en fonction du choix d'une liste déroulante

Bonjour Youky

Merci pour ta soluce, elle fonctionne a merveille a une exception prés
lorsque je sélectionne rien, rien ne doit apparaitre hors ici tu affiches tout

Cordialement
 
Re : masquer des lignes en fonction du choix d'une liste déroulante

Re,

Après avoir cherché, je pense avoir trouvé
Merci encore pour ton aide

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$B$3" Then

        Rows("5:65000").Hidden = False
        Rows("5:19").Hidden = IIf(Target = "", True, False)
        
        For lig = 5 To [A65000].End(3).Row
            If Target.Value <> Cells(lig, 1) Then Rows(lig).Hidden = True
        Next
    End If

End Sub

Cordialement
 
Re : masquer des lignes en fonction du choix d'une liste déroulante

Bon! alors voici..
Dire que j'avais bataillé pour tout affichier si rien....
Bruno
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then
   For lig = 5 To [A:A].Find("*", , , , 1, 2).Row
    Rows(lig).Hidden = IIf(Target = Cells(lig, 1), False, True)
   Next
 End If
End Sub
 
Dernière édition:
Re : masquer des lignes en fonction du choix d'une liste déroulante

Bonsoir Bruno

J'ai parlé un peu trop vite, cela ne fonctionne pas comme je le voudrai
Si les cellules ont la même valeur alors ok ca marche
mais si les cellules ont des valeurs différentes ben ca marche pas

j'ai placé le fichier xlsm

Cordialement
 

Pièces jointes

Re : masquer des lignes en fonction du choix d'une liste déroulante

Re,

Désolé Bruno, je me fais mal comprendre pas trop évident d'écrire ce que l'on souhaiterait faire
Je vais essayer de m'exprimer mieux

Voila
L'orsque l'on sélectionne le champ "vide" tout doit être masqué
Si je sélectionne toto les lignes 5 à 12 doivent être masquées
Si je sélectionne tata les lignes 14 à 19 doivent être masquées
Si je sélectionne titi les lignes 20 à 31 doivent être masquées

Tout en sachant que la liste de prénom entre les lignes 5 et 12 peuvent varier, elles peut s'agrandir ou diminuer pareil pour la liste entre les lignes 14 a 19 et idem pour la liste entre les lignes comprises en 20 et 31

Pour l'instant, je me sert de la réponse (#5), dans la colonne "A" j'ai inscrit tous des toto tata titi pour ensuite masquée cette colonne ca fonctionne mais a mon avis il doit exister une methode plus simple

Cordialement
Mig
 
Re : masquer des lignes en fonction du choix d'une liste déroulante

Mig,
Exactement comme dit !
Donc voici un nouveau fichier.
Bruno

Après reflexion......
Ajout du fichier test(2) qui affiche les toto alors que le fichier test(1) masquait les toto
Sur les deux il y en aura un de bon.
 

Pièces jointes

Dernière édition:
Re : masquer des lignes en fonction du choix d'une liste déroulante

Bonjour Bruno,

Harf trop trop fort pour le test (2) exactement ce que je cherchais
merci merci merci
Tu m'enlèves une grosse épine du pied

j'avous que j'ai galèré, merci encore
J'espère ne pas t'avoir trop solicité de temp pour mon HIC
mig
 
- 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