Recherche partie d'une valeur dans une colonne
sormick
-
sormick -
sormick -
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.
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.
A voir également:
- Recherche partie d'une valeur dans une colonne
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Colonne word - Guide
2 réponses
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
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
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
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
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
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
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
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
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
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