Faire une recherche dans un autre fichier

Résolu/Fermé
e_delcambre Messages postés 16 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 11 décembre 2009 - 21 sept. 2009 à 17:46
e_delcambre Messages postés 16 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 11 décembre 2009 - 24 sept. 2009 à 16:51
Bonjour,

Je cherche une petite fonction qui doit pas être bien sorcière, mais qui me ferait gagner beaucoup de temps. Je vous explique :

J'ai deux fichiers Excel, disons F1 et F2, - que, s'il était besoin, je pourrais éventuellement réunir en un, sur la même feuille ou dans deux feuilles différentes - F1 contient un certain nombre de contacts (Nom et Prénom) . F2 contient également ces contacts (mais aussi beaucoup d'autres, d'où le bordel) et aussi leur email.
Je voudrais importer les emails depuis F2 dans F1.

Je cherche donc quelque chose comme une fonction "recherche dans un autre fichier". Par exemple j'ai dans F1 une ligne avec Dupont en A et François en B, je voudrais que Excel cherche dans F2 le contact Dupont, me récupère son adresse mail et me l'affiche dans la colonne C de F1...

J'espère avoir été assez clair, ça m'aiderait beaucoup!!!

Merci
A voir également:

7 réponses

Sloubi76 Messages postés 1366 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 10 décembre 2016 135
21 sept. 2009 à 18:59
Bonsoir,

LA fonction recherchev() semble appropriée pour ce genre problème.
Déposez un exemple de votre fichier sous : http://www.cijoint.fr/ et indiquez le lien généré. Ceci permettra de vous retourner le tableau et sa formule.
Attention à anonymiser les données sensibles.

@ +
0
Bonjour,
Sur la feuille 1 du classeur 1, en C1 : =RECHERCHEV(A1;[Classeur2.xls]Feuil1!$A$1:$C$10;3;FAUX)
Tirer la formule vers le bas.
0
Bonjour,
Si vous recherchez la correspondance Nom et Prénom, je vous propose la formule suivante en C1:
=INDEX([Classeur2.xls]Feuil1!$C$1:$C$10;(SOMMEPROD((([Classeur2.xls]Feuil1!$A$1:$A$10=A1)*1)*(([Classeur1.xls]Feuil5!$B$1:$B$10=B1)*1)*LIGNE([Classeur2.xls]Feuil1!$A$1:$A$10))))
Tirer la formule vers le bas.
Note :
Classeur 1 / Feuil1 / nom en colonne A / prénom : col B et en C la formule pour récupérer l’adresse mail du classeur 2.
Classeur2 / Feuil1 / nom : A / prénom : B / adresse courriel : C
0
Je pense qu'avec les noms ça suffira. S'il en trouve 2 il mettra les deux adresses mails ? En tout cas merci beaucoup, j'essaie ça demain
0
Sloubi76 Messages postés 1366 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 10 décembre 2016 135 > e_delcambre
22 sept. 2009 à 22:20
Bonsoir,

En cas de pluralité de résultats la fonction ne retourne que la 1ère occurrence trouvée.
Ou alors il faut procéder à un filtre avancé pour n'avoir que des éléments unique.

@ +
0
ponpon > e_delcambre
22 sept. 2009 à 23:16
Bonjour,
S’il n’y a pas de doublon dans les noms c’est parfait avec RECHERCHEV().
Autrement vous ne recevrez que l’adresse du premier nom trouvé !
0
e_delcambre Messages postés 16 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 11 décembre 2009 > ponpon
23 sept. 2009 à 10:41
Merci beaucoup. Alors finalement j'aimerais utiliser la première formule, plus simple (avec seulement le nom), mais pour l'instant je n'y arrive pas.
Donc la formule est :
=RECHERCHEV(B2;[Fichier2.xls]QUOTID!$B$1:$C$10;3;FAUX)
(j'ai adapté le nom du fichier, du feuillet, et la colonne du nom qui est en fait B)

- $B$1:$C$10 ça correspond à la plage ? Si le nom, dans le fichier 2, se trouve dans la colonne B entre la ligne 2 et la ligne 150, puis-je écrire $B$2:$B$150 ??

- où apparaît la référence aux emails ?

Quand j'ai mis ta formule comme je l'écris en haut, j'ai comme réponse #N/A
Et quand je modifie la plage (donc peut etre qu'il a trouvé le nom mais ne sait pas quoi faire), il me met #REF!

Je sens que j'approche du but! Merci!
0
Bonjour,
Si le nom, dans le fichier 2, se trouve dans la colonne B , puis-je écrire $B$2:$B$150 ??
Presque ; il manque la colonne des adresses courriels soit colonne C --- > $B$2:$C$150.
Et le no_index_col doit être 2
La formule : =RECHERCHEV(B2;[Fichier2.xls]QUOTID!$B$1:$C$150;2;FAUX)
0

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

Posez votre question
e_delcambre Messages postés 16 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 11 décembre 2009
23 sept. 2009 à 16:14
Encore une fois : merci !

Il reste un petit problème... Donc ça marche pour mes 49 premières lignes. Dans les 20 premières je lui demande d'aller regarder dans le feuillet 1 du Fichier2 ; puis dans les 29 suivantes d'aller chercher dans le feuillet 2 du fichier 2 ; ensuite donc d'aller chercher dans le feuillet 3 du fichier2, et c'est là que ça coince...

Il ne me dit pas qu'il y a une erreur, simplement la formule reste sous la forme =RECH etc., elle ne se transforme pas en son résultat... est ce parce que je lui en demande trop ? parce que la formule que je mets n'est ni plus ni moins toujours la même, un peu modifiée :
=RECHERCHEV(B50;[Fichier2.xls]MENSUEL'!$B$1:$H$1100;7;FAUX)

As-tu une idée ?

Encore merci
0
Sloubi76 Messages postés 1366 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 10 décembre 2016 135
23 sept. 2009 à 18:50
Bonsoir,

Les feuillets sur lesquels portent la recherche sont ils dans le même classeur?
Dans l'affirmative, pourquoi ne pas les Nommer (Menu Insertion, Nom, Définir) afin d'alléger la formule et de simplifier les références.
Par exemple : sélectionner dans Fichier2.xls la zone B1:H1100 et la nommer Mensuel. Au niveau de la formule cela donne :
=RECHERCHEV(B50;MENSUEL!$B$1:$H$1100;7;FAUX)

Ensuite, vérifioer le format de la colonne recevant les résultats de la formule, il est possible que certaines cellules soient au format Texte, cas le plus fréquent, qui ne calcule pas la formule.

@ +
0
e_delcambre Messages postés 16 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 11 décembre 2009 > Sloubi76 Messages postés 1366 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 10 décembre 2016
24 sept. 2009 à 15:54
Merci beaucoup, c'était bien une question de format de cellule.
0
Bonjour,
Se sera plus simple de mettre votre fichier sur https://www.cjoint.com/ ou http://cijoint.fr/ , suivre l’instruction et ne pas oublier de coller le lien.
0
e_delcambre Messages postés 16 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 11 décembre 2009
24 sept. 2009 à 15:55
Désolé, ces fichiers ne sont pas à moi et ont une certaine importance.
Mais ça y est, tout est résolu! Merci beaucoup!
0
e_delcambre Messages postés 16 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 11 décembre 2009
24 sept. 2009 à 15:56
Juste une dernière question, par simple curiosité ;)
Dans la formule, le FAUX qu'il y a à la fin, il répond à quelle question ?
0
Bonjour,
On trouve l’explication facilement en passant par l’aide sur cette fonction de la fenêtre insérer une fonction.
Syntaxe : RECHERCHEV(valeur_cherchée;table_matrice;no_index_col;valeur_proche)
Votre demande porte sur [valeur_proche] :
valeur_proche représente une valeur logique indiquant si vous souhaitez que la fonction RECHERCHEV recherche une valeur exacte ou voisine de celle que vous avez spécifiée.
Si cet argument est VRAI ou omis, une donnée exacte ou proche est renvoyée. Si aucune valeur exacte n'est trouvée, la valeur immédiatement inférieure à valeur_cherchée est renvoyée.
Les valeurs de la première colonne de table_matrice doivent être classées en ordre croissant ; sans cela, il se peut que RECHRCHEV ne renvoie pas la bonne valeur. Pour plus d'informations, consultez la rubrique Trier des données.
Si cet argument est FAUX, RECHERCHEH recherche exclusivement une correspondance exacte. Dans ce cas, il n'est pas indispensable que les valeurs de la première colonne de table_matrice soient triées. Si plusieurs valeurs de la première colonne de table_matrice correspondent à valeur_cherchée, c'est la première valeur trouvée qui est utilisée. Si aucune valeur ne correspond, la valeur d'erreur #N/A est renvoyée
0
e_delcambre Messages postés 16 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 11 décembre 2009
24 sept. 2009 à 16:51
Merci beaucoup!
0