XL 2016 Afficher/Cacher des lignes en fonction d'un choix dans une liste déroulante

grecooll

XLDnaute Nouveau
Bonjour à tous,
Je souhaite afficher des lignes en fonction d'un choix dans une liste déroulante. Par exemple, si je choisis "Oui" dans ma liste "X" lignes apparaissent, au contraire elles disparaissent si je met "Non".
Je joins un fichier exemple.
Merci d'avance pour vos réponses,
Bien cordialement, grecooll.
 

Pièces jointes

  • Affichagelistedéroulante.xlsx
    9.5 KB · Affichages: 16

Etoto

XLDnaute Accro
Bonjour @Etoto,
Excuse-moi il est vrai que j'ai beaucoup de question en ce moment étant sur un fichier qui me pose problème. Est ce grave? Je suis désolé si je suis hors-règle.
Merci d'avance pour ton retour,
Bien cordialement.
Non absolument pas un problème (du moins c'est pas un problème pour moi), je t'écris juste pour taquiner, il y'a aucun problème. :) Et y'a pas de règle sur ça.
 

Etoto

XLDnaute Accro
Ahaha ok. Merci et par hasard tu n'aurais pas la réponse à ma question?
Le problème de ta demande c'est que une plage doit apparaitre sous condition, mais le problème c'est qu'Excel ne stocke pas en mémoire des anciens contenu de cellules le seul moyen et de faire que si c'est oui ta plage apparait en A3:A5 si c'est non elle apparait en A:1255:A1258 pour éviter des la voire mais j'ai pas d'autre solution.
 

grecooll

XLDnaute Nouveau
Le problème de ta demande c'est que une plage doit apparaitre sous condition, mais le problème c'est qu'Excel ne stocke pas en mémoire des anciens contenu de cellules le seul moyen et de faire que si c'est oui ta plage apparait en A3:A5 si c'est non elle apparait en A:1255:A1258 pour éviter des la voire mais j'ai pas d'autre solution.
j'ai réussi à le faire avec les checkbox ( grâce à des conseils du forum) mais je m'y connais pas assez en VBA pour reprendre le code et le modifier dans le cas de liste déroulante.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @grecooll :),

Pour ce que j'en ai compris, un essai en VBA dans le fichier joint.
Si A1 vaut "Non", on masque les lignes, si A1 vaut n’importe quoi d'autre, on affiche les lignes.
Le code est dans le module de la feuille "Sheet1" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Range("a1"), Target) Is Nothing Then Rows("3:5").Hidden = Range("a1") = "Non"
End Sub
 

Pièces jointes

  • grecooll- Affichagelistedéroulante- v1.xlsm
    15.1 KB · Affichages: 9

Discussions similaires

Haut Bas