Recherche partie d'une valeur dans une colonne

Fermé
sormick - 16 oct. 2014 à 13:18
 sormick - 16 oct. 2014 à 17:25
Bonjour,

j'ai inscrit dans une cellule un texte de ce type:

"exemple chine marché"

dans une autre feuile j'ai inscrit tous les pays dans la colonne A et tous les mails dans la colonne B.

Existe t'il une formule excel qui me recherche parmi ce texte:
"exemple chine marché" dans la colonne A le pays "Chine" et s'il le trouve qu'il m'affiche le mail correspondant dans la colonne B.

Pas évident à expliquer j'espère que vous aurez compris.




2 réponses

via55 Messages postés 14508 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738
16 oct. 2014 à 13:57
Bonjour

Directement par formule non mais en créant une fonction personnalisée oui , exemple dans le fichier joint :
https://www.cjoint.com/?0Jqn7sIxPc4

Une fois la fonction créée par macro elle est accessible comme toutes les autres fonctions Excel et se trouve dans la liste qui s'affiche quand ont tape les premières lettres de la fonction dans une cellule

Cdlmnt
0
PHILOU10120 Messages postés 6394 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 janvier 2025 810
16 oct. 2014 à 13:59
Bonjour

Voir avec cette formule, à adapter à votre besoin

=RECHERCHEV("*"&$d$1&"*";$A$1:$B$100;2;FAUX)

D1 contient le mots Chine
A1 : B100 zone de recherche

0
Bonjour,
Cette formule excel est ce qu'il me faut mais pourquoi ça ne marche pas du tout chez moi??
pourtant je respecte à la lettre cette formule excel.
J'ai office 2010
0
via55 Messages postés 14508 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738
16 oct. 2014 à 16:30
Re,

Je confirme, ça ne marche pas dans ton cas,notre ami Philou que je salue au passage est allé un peu vite, sa formule est valable si tu avais Chine en D1 et que tu recherches ce mot parmi des chaines contenant Chine dans ta base de données mais toi c'est l'inverse que tu veux !
C'est pourquoi ne voyant pas comment le faire avec une recherchev classique je t'ai proposé une fonction personnalisée dédiée dans mon premier message

Cdlmnt
0
Merci beaucoup pour cette réponse mais malheureusement ça ne marche pas non plus avec cette macro .
elle va récupérer la valeur selon un espace " " cependant voila comment se compose mon texte dans la cellule:
BV n°:4380 CHINE SAL CN VALEUR: 1-
Comment détecter le mot (chine) dans ce cas?
je suis pret à mettre un point virgule comme ceci (;CHINE;) si ça peut aider à trouver l'info
0
via55 Messages postés 14508 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738
16 oct. 2014 à 16:57
Chez moi ça marche parfaitement avec tout ton texte (la fonction SPLIT place chaque texte séparés par des espaces dans un tableau) , à condition que Chine soit aussi écrit en majuscules dans ta base de données
Pour pallier le fait que des noms peuvent être en minuscules dans la base de données, il faut modifier ainsi la ligne de la macro qui fait la comparaison :
If Tableau(i) = UCase(Sheets("base").Range("A" & n)) Then trouve = n

Cdlmnt
0
Merci. ça marche parfaitement!!! longue vie à comment ça marche!!!
0