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

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

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 !

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

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.
 
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.
 
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.
 
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

- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…