Problème de recherche Excel

Résolu/Fermé
cdh0904 - 17 mars 2008 à 22:37
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 - 22 mars 2008 à 18:20
Bonjour,
Je voudrais trouver la fonction excel qui puisse me permettre ceci :
Par exemple j'ai un tableau :
1 1 Cedric
1 2 Delphine
2 3 Maxime
2 4 Thomas
2 5 Romane
3 6 Charline
4 7 Xavier
4 8 Léon

Sur une autre page je voudrais que lorsque par exemple on tape 2 dans la celulle A1 et 4 dans la celulle B1 dans la celulle C1 s'affiche "Thomas".
Je pense qu'il faille utiliser une formule recherche ou index ou quelque chose comme ça mais je trouve pas la syntaxe correcte......

Merci de m'aider
A voir également:

9 réponses

Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
17 mars 2008 à 23:30
Bonsoir cdh0904,
Avec une petite adaptation s’est possible :
Colonne A concaténer B et C
11 1 1 Cedric
12 1 2 Delphine
23 2 3 Maxime
24 2 4 Thomas
25 2 5 Romane
36 3 6 Charline
47 4 7 Xavier
48 4 8 Léon

Sur la feuille 2 en "A1" = 2 et en "B1" = 4
Dans "C1" =RECHERCHEV(A1&B1;Feuil1!A1:D8;4)
Résultat : Maxime
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 414
22 mars 2008 à 08:22
Bonjour Le pingou

Pour la forme et sauf erreur de ma part,
N'y avait il pas aussi une autre solution à mon avis ,bien simple avec un code que l'on néglige souvent:
Sur feuil2 la formule:
>En A1, la valeur recherchée sur colonne A feuil1
>E B1, la valeur "" "" sur colonne B feuil1
En C1 la formule:

=SOMMEPROD((Feuil1!A1:A100=C1)*1;(Feuil1!B1:B100=B1)*1;Feuil1!C1:C100)

Cette option fonctionne en principe bien et évite de passer par les concatènations dans des cellules de renvoi.De plus, elle n'est pas limité en nombre d'items et peut donc rechercher une ligne à partir de plus de colonnes.
Bien amicalement.
0
alice.catseyes Messages postés 122 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 22 mars 2008 1
17 mars 2008 à 23:34
Bonjour cdh0904,

La formule Recherche peut-être utilisée si 1 nombre correspond à 1 nom

matrice :
1 cedric
2 delphine
3 maxime
4 thomas
5 romane
6 charline
7 xavier
8 leon

Formule sur Feuil2 dans case B1 "=RECHERCHE(A1;Feuil1!A1:B8)" avec la valeur remplie en A1.

Je cherche pour ta matrice plus complexe... à 3 colonnes
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
17 mars 2008 à 23:44
Salut,

si desous la même fonction, la deuxième incorpore une conditionnelle afin de ne pas afficher un 0 ou un messassage d'erreur si dans la cellule de selection aucune donnée n'y figure.

=RECHERCHEV($A$2;Feuil1!$A$1:$I$8;2)

=SI($A$2="";"";RECHERCHEV($A$2;Feuil1!$A$1:$I$8;2))

Explication de la formule rechercheV =si($A$2="";"";rechercheV($A$2;Eléve!$A$1:$I$8;2)) " =si($A$2="";""; est une conditionnelle afin qu'il n'y ait pas de résultat dans les cellules notes si aucun n° a été saisie pour la recherche, à mettre ou non. rechercheV est la fonction ($A$2; est la cellule de référence dans laquelle il sera saisie le numéro à rechercher, Feuil1! est le nom de l'onglet de feuille dans lequel la recherche sera faite $A$1:$I$8;est la plage de cellule dans laquelle la recherche doit être faîte et sera plus importante sur ton tableau 2)) est le n° de la colonne dans laquelle sera rechercher l'information et sera donc la cellule au point de jonction du n° sélectionné et de cette colonne.

A+
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
17 mars 2008 à 23:50
bonjour

C'est effectivement assez compliqué de trouver ta valeur de colonne C en fonction des valeurs A et B.

Si ton tableau est trié comme sur l'exemple, tu peux le faire avec cette formule
=INDIRECT("Feuil1!C"&EQUIV(Feuil2!A1;Feuil1!A1:A20;0)+EQUIV(Feuil2!B1;DECALER(Feuil1!A1;EQUIV(Feuil2!A1;Feuil1!A1:A20;0);1;20;1);0))

tes critères de recherche sont en Feuil2!A1 et Feuil2!B1
ton tableau est en Feuil1!A1:C20
il faut remplacer les 20 par le nombre de lignes de ton tableau

La formule fait l'affichage de la cellule concernée de la colonne C :
=INDIRECT("Feuil1!C"&
que l'on complète par la ligne avec la première position de la colonne A :
EQUIV(Feuil2!A1;Feuil1!A1:A20;0)
+
la première position de la colonne B :

EQUIV(Feuil2!B1;DECALER(Feuil1!A1;

trouvée dans le tableau déterminé par la colonne A décalé d'une colonne :

EQUIV(Feuil2!A1;Feuil1!A1:A20;0);1;20;1);0))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
18 mars 2008 à 14:57
Bonjour Le Pingou et à tous !

Le plus simple est la solution de LePingou
comme il est difficile de rechercher avec deux colonnes
il faut concaténer pour n'en avoir plus qu'une !
et il faut le faire sur les 2 feuilles , suffit d'avoir insérer une colonne et de frapper la formule
Dans la feuille où on va rechercher l'information il faut que le code recherché soit à gauche de la donnée que l'on veut ramener car on fonctionne par déplacement

Voir le fichier ici :
https://www.cjoint.com/?dso4seZ1a3
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
18 mars 2008 à 15:31
Bonjour xkristi,
Merci pour le soutien.
Petite remarque, ajouter 1 colonne (concaténation 2 col.) sur la feuille 1 c'est ok.
Pour la deuxième se n'est pas nécessaire on peu simplement le faire directement pour la valeur cherchée : ... A1&B1....
A une prochaine.
0
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564 > Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024
18 mars 2008 à 15:38
Merci pour l'info
C'est agréable de trouver quelqu'un qui va au fond des choses (sourire)
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449 > xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022
18 mars 2008 à 18:11
Bonjour xkristi,
Merci pour le fond des choses.
Mais j'ai oublié de mentionné la superbe formule de gbinforme (au passage :bonne fête de Pâques)
que je me fais un plaisir de décortiquer jusqu'au .....(voir poste 4)
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708 > Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024
18 mars 2008 à 22:01
bonjour Le Pingou,

Merci et bonnes fêtes pascale à toi aussi et à tous les "forumeurs" mais cela va être aux tisons apparemment...
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
21 mars 2008 à 16:37
Bonjour gbinforme,
J'ai étudié avec passion votre formule et j'ai enfin compris le fonctionnement, c'est génial.
Il y a néanmoins une erreur #N/A qui se répète pour les couples 1-1, 2-3, 3-6 ....... et je ne suis pas arrivé à adapter votre formule en conséquence.
Par plaisir j'ai crée une autre formulation qui semble bien fonctionnée la voici :
=SI(EQUIV(A1;Feuil1!A1:A8;0)=EQUIV(B1;Feuil1!B1:B8;0);INDIRECT("Feuil1!C"&EQUIV(B1;Feuil1!B1:B8;0));SI(INDIRECT("Feuil1!A"&EQUIV(B1;Feuil1!B1:B8;0))=A1;INDIRECT("Feuil1!C"&EQUIV(B1;Feuil1!B1:B8;0));"Pas valeur"))

Le tableau de base est :
1 1 Cedric
1 2 Delphine
2 3 Maxime
2 4 Thomas
2 5 Romane
3 6 Charline
4 7 Xavier
4 8 Léon

Bonne fin de journée.
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
18 mars 2008 à 15:38
OK super

quand tu jugeras ton problème terminé n'oublies pas de le porter résolu

Merci
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
22 mars 2008 à 15:54
Bonjour Vaucluse,
Merci pour votre information et suggestion :
=SOMMEPROD((Feuil1!A1:A100=C1)*1;(Feuil1!B1:B100=B1)*1;Feuil1!C1:C100)
Tel quel, le résultat de sommeproduit est toujours "0" et en modifiant le "C1" de Feuil1!A1:A100=C1 par "A1"
soit =SOMMEPROD((Feuil1!A1:A100=A1)*1;(Feuil1!B1:B100=B1)*1;Feuil1!C1:C100)
Le résultat est toujours zéro .... est oui la matrice "Feuil1!C1:C100" fait référence à du texte d'où sommeprod =0
Eh bien là je n'ai encore pas sortie la valeur de la colonne "C" correspondante :"Cedric,Delphine......Léon"
0
Merci à tous pour votre aide !!!!
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449 > cdh0904
22 mars 2008 à 18:20
Merci cdh0904, de rien.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 414
22 mars 2008 à 17:29
Effectivement, Le Pingou
J'ai utlisé cette formule pour rechercher des montants à partir de texte (dans ce sens ça marche très bien) , mais il ne m'est plus venu à l'esprit (c'est le WE) qu'elle ne marchait pas dans l'autre sens, et contrairement à mon réglement interne, je n'ai pas testé
Avec mes excuses bien plates.
Bon WE
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
22 mars 2008 à 18:03
Bonjour Vaucluse,
Ne soyez pas désolé, c'est une super idée, j'y ai réflèchi et voila se que l'on obtient :
=INDIRECT("Feuil1!C"&SOMMEPROD((Feuil1!A1:A8=A1)*1;(Feuil1!B1:B8=B1)*1;{1;2;3;4;5;6;7;8}))
Ce qui fonctionne à merveille selon les bases du poste du demandeur.
Il est aussi possible de remplacer {1;2;3;4;5;6;7;8} par la plage d'une colonne que l'on aura créer avec l'incrémentation de 1 à x selon le nombre de ligne désiré (nb identique au matrice de la "Sommeprod" dans notre cas : "X1:X8" = 1;2;3;4;5;6;7;8.
A une prochaine.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 414
22 mars 2008 à 18:14
Effectivement.... mais fallait quand même s'en occuper un peu!!!!!!
Bravo.
BCRDLMNT
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
22 mars 2008 à 18:17
Merci et bonne fête de Pâques.
0