Liste déroulante selon critère

Bonjour à tous,

Je sais qu'il existe plusieurs topics sur ce sujet mais impossible de trouver une solution convenable.

Voilà, je possède un tableau source "Liste" qui évolue tous les jours (ligne en moins ou ligne en plus). J'aimerais pouvoir dans une cellule, sélectionner parmi une sélection (liste déroulante), le "nom" correspondant au "type". Exemple: je rentre manuellement le "type" en A3, puis en B2 je déroule une liste avec tous les "Noms" possédant le même type qu'en A3. Je ne sais pas si je suis clair..

Le fichier en pj,

Merci!

92test.xlsx (9.02 Ko)

Bonjour,

Sur la base d'une table structurée LISTE triée par type et avec un plage dynamique NOM sur cette table via la formule :

=DECALER(Feuil1!$A$6;EQUIV(Feuil1!$A$3;LISTE[Type];0);;NB.SI(LISTE[Type];Feuil1!$A$3))

Puis une liste de validation alors vous obtenez le fichier joint sans VBA.

Si ça ne correspond pas merci de préciser plus finement le besoin.

Cdlt,

265copie-de-test.xlsx (10.19 Ko)

Bonjour Ergotamine,

Merci pour ce retour rapide,
Je vois que ta LISTE est fixe ($A$7:$B$23), y aurait-il un moyen d'avoir une formule permettant de prendre en compte toute la liste (elle peut faire 23 lignes comme 100 certains jours)?
D'autre part j'essaie de reproduire ce que tu as réalisé sur mon fichier original mais apparemment il ne me laisse pas valider ta formule pour NOM (ça bloque au niveau de "LISTE[Type]"). La liste LISTE apparait en grisé et je ne peux pas la modifier!
Peut-être tu peux m'expliquer tes étapes pour que je puisse le refaire de mon côté? En terme de résultat c'est exactement ce que je souhaites! ;)

Bonjour,

Tout d'abord LISTE est une table structurée et non une plage nommée, c'est pour cela qu'elle n'est pas modifiable. Peut importe si vous ajoutez des valeurs, elles seront automatiquement prises en compte dans la plage (si vous les réduisez, à la limite vous aurez du blanc, mais ce n'est pas gênant car je la refiltre via ma plage dynamique.

Ci-contre l'ensemble des manipulations à réaliser.

Si vous êtes bloqués, dites moi à quelle étape et qu'est ce qui vous bloque :

image

Cdlt,

Je comprends! Merci énormément c'est très utile. Je viens d'apprendre une manip sur la création d'un tableau!
J'ai juste une dernière demande à ma requête: j'aurais souhaiter ajouter un "critère" dans la génération de cette liste déroulante. En effet, le seul critère est la cellule A3 "Type" et j'aurais voulu ajouter la cellule C3 "Numéro" en tant que 2è critère (voir pj). Cela est possible? Désolé de ne pas l'avoir mentionner en 1er lieu, cela me semblait plus difficile à expliquer dans l'objet de mon topic.

88test.xlsx (9.11 Ko)

Bonjour,

Il vaut mieux en effet donner le contexte entier dès le début car j'aurai peut être été prendre une solution VBA. Cependant par formule c'est possible aussi en partant du principe que le Type est prioritaire sur le numéro (donc en classant par Type puis numéro) mais la formule se complique et je ne prendrais pas forcément le temps de l'expliquer mais le principe reste le même. On décale une plage :

=DECALER(INDIRECT("A" & EQUIV(Feuil1!$C$3;DECALER(INDIRECT("C"&EQUIV(Feuil1!$A$3;LISTE[Type];0)+6;VRAI);;;NB.SI(LISTE[Type];Feuil1!$A$3));0)+EQUIV(Feuil1!$A$3;LISTE[Type];0)+5;VRAI);;;SOMMEPROD((LISTE[Type]=Feuil1!$A$3)*(LISTE[Numéro]=Feuil1!$C$3)))

Partons du principe où A3 = o et C2 = 3.

Le 1er INDIRECT me sert à connaître d'où part ma plage de recherche où je vais chercher mon second critère. Dans ce cas, INDIRECT me renvoie la référence C7 que je décale d'une hauteur égale à NB.SI(LISTE[Type];Feuil1!$A$3) soit 9 donc la plage de recherche du second critère s'étend de C7 à C15.
Je cherche alors dans cette plage où apparaît mon numéro selon le même principe que vu précédemment.
Je décale alors d'une hauteur via SOMMEPROD car NB.SI ne me permet que de calculer avec un seul critère, hors ici il me faut la combinaison de 2 critères

Il faut voir à l'usage si la formule tiens bon mais d'après mes tests, si le tri de la table est correctement réalisé alors il n'y a pas de raison que ça ne fonctionne pas.

Cdlt,

C'est très clair, merci énormément de ton aide!

Une proposition en vba avec en prime une liste déroulante pour le choix du type.

68listecriteres.xlsm (22.18 Ko)

Le même mais avec mise à jour auto de la liste critères

124listecriteres.xlsm (23.23 Ko)

Parfait Yal_excel! C'était ce que je voulais, merci encore

Yal_Excel,

Juste pour revenir sur le topic, tu penses qu'il est possible de réaliser ce qu'il y a en A3 et B3 mais sur les cellules A3:B8 (comme sur la pj) ?

Merci!

26listecriteres2.xlsm (21.57 Ko)

Désolé, mais je ne comprends pas la question.

J'aimerais pouvoir faire exactement pareil que les cellules A3 et B3 (liste déroulante) sur les cellules de A3 à A8 (type) et de B3 à B8 (Nom). Jusqu'à présent la cible ne concernait que A3 et B3. Désolé de ne pas être super clair, j'ai mis en pj précédemment un exemple.

Dans "listecriteres.xlsm" en A3 il y a les critères uniques existants dans la plage "B7:B23"

Le choix en A3 filtre la liste des valeur répondants au critère choisi dans la liste des noms(plage: "A7:A23". Cela permet de choisir un nom dans une liste limitée. Cà je comprends.

Mais je ne vois pas à quoi pourrait servir des listes déroulantes dans la plage : "A7:B23"

Oui, justement je cherche le même choix de critères de la plage "B13:B29" mais en plus de A3, sur plusieurs lignes (A3:A8). Donc ce n'est pas des listes déroulantes dans la plage de critères B7:B23 du 1er fichier mais plutôt dans les lignes 3 à 8.

Simplement dit: Je souhaite répliquer A3 et B3 plusieurs fois, basé sur la même plage du dessous.

Je ne comprends toujours pas l'utilité mais voici une version qui devrait ressembler à la demande.

Parfait! Merci beaucoup!

Si le sujet est résolu penser à le marquer comme tel.

Rechercher des sujets similaires à "liste deroulante critere"