RechercheV qui renvoit plusieurs valeurs

Résolu/Fermé
Caloow Messages postés 14 Date d'inscription mercredi 15 janvier 2014 Statut Membre Dernière intervention 8 août 2014 - 21 mars 2014 à 10:07
Caloow Messages postés 14 Date d'inscription mercredi 15 janvier 2014 Statut Membre Dernière intervention 8 août 2014 - 21 mars 2014 à 13:58
Bonjour à tous,
J'ai le problème suivant :
J'ai un premier tableau avec les infos suivantes :
.............A...............................B
3 Compresseur............Démarrage
4 Compresseur.................Arrêt
5 Ligne..........................Nettoyage
6 Compresseur............Complément
7 Soutireuse..................Nettoyage

Puis dans un 2ème tableau j'ai en A2 : Une liste avec les machines présente dans le tableau 1 en A
Et je voudrai qu'en B2, il y ait une liste qui me renvoit toutes les valeurs que peut prendre A2.
Exemple si mon A2 = Compresseur
Alors en B2 je voudrai que la liste me propose : Démarrage - Arrêt - Complément

Si vous avez une idée de comment faire, si possible sans passer par le VBA..

Merci d'avance !

4 réponses

Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
Modifié par Mike-31 le 21/03/2014 à 11:11
Bonjour,

je te conseille de nommer tes plages de ton premier tableau qui semble être sur une feuille différente, exemple la plage A2:A100 nommée col_A
la plage de recherche en B soit de B2à B100 nommée col_B ou le nom souhaité

ensuite colle cette formule matricielle en B2 dans ton deuxième tableau

=SI(LIGNES($1:1)<=NB.SI(col_B;$A$2);INDEX(col_A;PETITE.VALEUR(SI(col_B=$A$2;LIGNE(INDIRECT("1:"&LIGNES(col_B))));LIGNES($1:1)));"")

pour confirmer une formule matricielle une fois la formule saisie ou collée il faut cliquer en même temps sur trois touches du clavier Ctrl, Shift (touche majuscule) et Entrée

si tu fais bien la formule se placera entre deux accolades {}
comme ceci

{=SI(LIGNES($1:1)<=NB.SI(col_B;$A$2);INDEX(col_A;PETITE.VALEUR(SI(col_B=$A$2;LIGNE(INDIRECT("1:"&LIGNES(col_B))));LIGNES($1:1)));"")}

ensuite incrémente vers le bas

si tu n'y arrives pas crée un fichier exemple et poste le avec ce lien

https://www.cjoint.com/
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
Caloow Messages postés 14 Date d'inscription mercredi 15 janvier 2014 Statut Membre Dernière intervention 8 août 2014
Modifié par Caloow le 21/03/2014 à 11:44
Voici le lien vers le document :

https://www.cjoint.com/?DCvlQuoklOm

Merci d'avance

EDIT : Je n'ai pas réussi à faire fonctionner ta formule. Mais je pense qu'elle ne réalise pas tout à fait se que je souhaite. Ce que je voudrai c'est qu'on me renvoi une liste de choix
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
21 mars 2014 à 13:06
Re,

Sur la feuille Formation, n'utilise pas de filtre qui font mauvais ménage avec les formules, en A2 sélectionne le critère de ton choix et en colonne B tu as bien le résultat.

il est possible d'obtenir les résultats en ligne afin d'afficher sur chaque ligne des critères différents

https://www.cjoint.com/?DCvngzFwTka
1
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
21 mars 2014 à 10:51
Bonjour,

C'est un thème fréquemment abordé.
Fais une recherche sur "Liste en cascade"

A+
0
Caloow Messages postés 14 Date d'inscription mercredi 15 janvier 2014 Statut Membre Dernière intervention 8 août 2014
21 mars 2014 à 11:34
D'accord merci, je vais gratter la dessus
0
Caloow Messages postés 14 Date d'inscription mercredi 15 janvier 2014 Statut Membre Dernière intervention 8 août 2014
21 mars 2014 à 13:58
Re,

D'accord c'est noté,

Merci de ton aide, je vais me débrouiller avec ça !

Encore merci pour la rapidité de réponse.

A +
0