Excel - Liste déroulante conditionnelle
Résolu
cyrilounet
-
Vitcthor -
Vitcthor -
Bonsoir,
Je voudrais arriver à créer sous Excel une liste déroulante dont le contenu affiché serait fonction de la valeur de la cellule d'avant (qui est elle-même une liste déroulante).
Pour être plus clair, j'ai une liste de services Liste_Services (Service 1, Service 2, Service n...) dans une cellule. Cette liste, je l'ai faite depuis le menu "Données / Validation". Je souhaiterais dans la cellule suivante qu'apparaisse une liste d'items qui correspondent au service sélectionné.
En gros, j'ai sur une feuille Excel (feuille A) le tableau suivant :
Dans une autre feuille (feuille B), j'ai (de manière simplifiée) les cellules suivantes :
Une fois le service sélectionné dans cette feuille, je souhaiterais que la liste Liste_Item s'affiche en fonction du choix effectué (c'est-à-dire en focntion de Liste_Services). Si je sélectionne le Service 2, je voudrais que seule la liste de services Service 2 (colonne C de la feuille A ) s'affiche.
Je ne sais pas trop comment faire à ce niveau. Les listes sont définies.
J'espère avoir exposé assez clairement le problème que j'ai pour que quelqu'un me dépatouille.
Un grand merci d'avance à celui ou celle (ne soyons pas sexiste) qui m'aidera à résoudre ce soucis.
Cordialement.
Je voudrais arriver à créer sous Excel une liste déroulante dont le contenu affiché serait fonction de la valeur de la cellule d'avant (qui est elle-même une liste déroulante).
Pour être plus clair, j'ai une liste de services Liste_Services (Service 1, Service 2, Service n...) dans une cellule. Cette liste, je l'ai faite depuis le menu "Données / Validation". Je souhaiterais dans la cellule suivante qu'apparaisse une liste d'items qui correspondent au service sélectionné.
En gros, j'ai sur une feuille Excel (feuille A) le tableau suivant :
| A | B | C | D | E 1 | | Service 1 | Service 2 | Service 3 | Service n 2 | Service 1 | Item B2 | Item C1 | Item D1 | Item E1 3 | Service 2 | Item B3 | Item C2 | Item D2 | Item E2 4 | Service 3 | Item B4 | Item C3 | Item D3 | Item E3 5 | Service n | Item Bn | Item Cn | Item Dn | Item En
Dans une autre feuille (feuille B), j'ai (de manière simplifiée) les cellules suivantes :
Liste_Services | Liste_Item
Une fois le service sélectionné dans cette feuille, je souhaiterais que la liste Liste_Item s'affiche en fonction du choix effectué (c'est-à-dire en focntion de Liste_Services). Si je sélectionne le Service 2, je voudrais que seule la liste de services Service 2 (colonne C de la feuille A ) s'affiche.
Je ne sais pas trop comment faire à ce niveau. Les listes sont définies.
J'espère avoir exposé assez clairement le problème que j'ai pour que quelqu'un me dépatouille.
Un grand merci d'avance à celui ou celle (ne soyons pas sexiste) qui m'aidera à résoudre ce soucis.
Cordialement.
A voir également:
- La liste source doit être délimitée ou faire référence à une seule ligne ou colonne
- La source est reconnue comme erronée excel - Meilleures réponses
- Excel liste déroulante conditionnelle - Meilleures réponses
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
39 réponses
Salut,
En fait, j'ai créé mes listes dans une feuille (Feuille_Liste), comme suit :
J'ai ensuite nommé chaque liste :
- listeServices pour B1:E1
- ERR_liste1 pour B2:B3
- ERR_liste2 pour C2:C5
- ERR_liste3 pour D2:D4
- ERR_listen pour E2:E5
Dans ma feuille principale (Feuille1), dans la cellule où je voulais afficher ma première liste (E2 par exemple), j'ai créé une liste comme suit :
- menu Données / Validation ;
- dans la partie "autoriser", j'ai sélectionné "Liste" ;
- dans la partie "Source", j'ai mis la formule suivante : =listeServices puis OK.
Dans la cellule suivante F2 (cellule dont l'affichage dépend du choix de la cellule précédente), j'ai procédé comme suit :
- menu Données / Validation ;
- dans la partie "autoriser", j'ai positionné sur "Liste" ;
- dans la partie "Source", j'ai mis la formule suivante : =INDIRECT("ERR_"&(RECHERCHE(E2;listeServices)))
Et le tour est joué (si je n'ai rien oublié). Si tu as besoin de plus d'explication, ou d'aide, n'hésite pas ;-)
Cordialement
En fait, j'ai créé mes listes dans une feuille (Feuille_Liste), comme suit :
| A | B | C | D | E
1 | | Service 1 | Service 2 | Service 3 | Service n
2 | Service 1 | Symp. 1_1 | Symp. 2_1 | Symp. 3_1 | Symp. n_1
3 | Service 2 | Symp. 1_2 | Symp. 2_2 | Symp. 3_2 | Symp. n_2
4 | Service 3 | | Symp. 2_3 | Symp. 3_3 | Symp. n_3
5 | Service n | | Symp. 2_n | | Symp. n_n
J'ai ensuite nommé chaque liste :
- listeServices pour B1:E1
- ERR_liste1 pour B2:B3
- ERR_liste2 pour C2:C5
- ERR_liste3 pour D2:D4
- ERR_listen pour E2:E5
Dans ma feuille principale (Feuille1), dans la cellule où je voulais afficher ma première liste (E2 par exemple), j'ai créé une liste comme suit :
- menu Données / Validation ;
- dans la partie "autoriser", j'ai sélectionné "Liste" ;
- dans la partie "Source", j'ai mis la formule suivante : =listeServices puis OK.
Dans la cellule suivante F2 (cellule dont l'affichage dépend du choix de la cellule précédente), j'ai procédé comme suit :
- menu Données / Validation ;
- dans la partie "autoriser", j'ai positionné sur "Liste" ;
- dans la partie "Source", j'ai mis la formule suivante : =INDIRECT("ERR_"&(RECHERCHE(E2;listeServices)))
Et le tour est joué (si je n'ai rien oublié). Si tu as besoin de plus d'explication, ou d'aide, n'hésite pas ;-)
Cordialement
Je me suis penché sur les formules de Cyrilounet.
je les ai mis en application car une liste déroulante qui dépend d'une autre allégerait le travail sur des fichiers excel.
Si j'ai mis en route la 1ère liste avec la formule suivante : =listeServices puis OK., celle -ci fonctionne.
La 2° liste ne donne aucun résultat. et je vois bien que c'est normal car il n'est pas utilisé les noms des colonnes du tableau de données à savoir :
- ERR_liste1 pour B2:B3
- ERR_liste2 pour C2:C5
- ERR_liste3 pour D2:D4
- ERR_listen pour E2:E5
Bref la formule =INDIRECT("ERR_"&(RECHERCHE(F2;listeServices))) semble incomplète.
Bref y vois-tu une possibilité ?
En ce qui me concerne, ces formules m'apprennent les profondeurs d'excel et vont me permettre de les adpater à d'autres données...
Merci d'avance de repencher sur tes formules.
Cordialement
* La formule est =INDIRECT("ERR_"&(RECHERCHE(F1;listeservices))) --> F1 au lieu de F2
* Ne pas mettre d'espace dans les champs et nommer les listes (ERR_service1, ERR_service2,...)