Une liste déroulante à deux étages
Dans la cellule B1, vous avez créé, grâce à la commande Données – Validation – Liste, un menu déroulant avec les deux options « Fruit » et
« Légume ». Vous souhaitez définir en B2 une liste de validation différente selon le choix effectué en B1, comme dans les deux exemples ci-dessous :
Vous pouvez résoudre ce problème de façon tout à fait esthétique grâce à la macro événementielle ci-dessus, attachée à la feuille de calcul concernée.
Remarque – Notez, dans les chaînes de validation, l’utilisation de la virgule au lieu du point-virgule : en effet, le VBA est en anglais, langue dans laquelle c’est la virgule qui doit être utilisée à cet effet !
« Légume ». Vous souhaitez définir en B2 une liste de validation différente selon le choix effectué en B1, comme dans les deux exemples ci-dessous :
Vous pouvez résoudre ce problème de façon tout à fait esthétique grâce à la macro événementielle ci-dessus, attachée à la feuille de calcul concernée.
Remarque – Notez, dans les chaînes de validation, l’utilisation de la virgule au lieu du point-virgule : en effet, le VBA est en anglais, langue dans laquelle c’est la virgule qui doit être utilisée à cet effet !
1 Commentaire(s):
A noter qu'il est aussi possible de faire sans macro :
=> en A1 : "Fruits"
=> A2 à A5 : Pomme, Fraise, etc..
=> en B1 : "Légumes"
=> B2 à B4 : Carotte, Tomate, Asperge
De D1 à D10 on indiquera la famille : Fruits ou Légumes. (On peut déjà le faire en créant une validation par liste sur la zone A1:B1)
De E1 à E10 on va utiliser une validation des données de type liste mais conditionnelle :
- zoner E1:E10
- validation des données -> type liste
- Source :
=si($E1=$A$1;$A$2:$A$5;si($E1=$B$1;$B$2:$B$5;$A$2:$B$5))
=> en gros si on indique :
- qu'il s'agit de fruits la liste sera la zone listant les fruits (colonne A)
- qu'il s'agit de légume la liste sera la zone listant les légumes (colonne B)
- sinon on propose l'ensemble des fruits et légumes (on pourrait ne mettre aucun choix)
A noter que je ne sais comment faire la même chose en indiquant directement la liste au lieu d'une zone. (cad à la place de $A$2:$A$5 écrire directement sa liste, excel me renvoi une erreur)
By Anonyme, sur 11:29 AM
Enregistrer un commentaire
<< Accueil