Fonction RECHERCHEV ... pour un début de réf. [Résolu/Fermé]

Signaler
-
 Meggg -
Bonjour,

J'ai un tableau à 2 onglets (dans le 1er la tableau sur lequel je travaille, et dans le second le tableau de référence). Je voudrais qu'excel recherche par exemple la référence qui se trouve dans la case A1, dans le tableau qui j'ai mis dans le second onglet.

Jusque là je m'en sors, mon problème c'est que des fois, la référence qui se trouve dans la case A1 est suivie d'un espace, voir plus. Il s'agit d'une erreur que je ne peux pas corriger, et dans ces cas là, excel ne retrouve pas la référence exacte dans mon tableau de référence qui se trouve dans le deuxième onglet.

J'ai essayé de mettre un * après chaque référence du tableau de références mais ça ne change rien.

Voici ma formule

=SI(ESTNA(RECHERCHEV(Feuil1!B12;Feuil2!$A$1:Feuil2!$C$505;2;FAUX));"SMALL";RECHERCHEV(Feuil1!B12;Feuil2!$A$1:Feuil2!$C$505;2;FAUX))

Que puis je faire pour que la référence avec ou sans espace à la fin soit prise en compte ?

Merci d'avance pour votre aide.

4 réponses

Messages postés
25007
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
8 avril 2020
5 149
Bonjour
vous ne pouvez pas supprimer l'espace pour des questions de codage,, où vous ne savez pas?
1° vous pouvez ne chercher qu'une partie de la référence en plaçant cette partie dans une cellule, mettons X1 pour l'exemple:
la valeur à chercher s'écrit alors:
"*"&X1&"*" pour identifier la cellule comportant ce texte n'importe où
X1&"*" pour le texte au début
"*"&X1 pour le texte à la fin.
Si ça ne convient pas, vous pouvez:copier vos références en ligne dans une colonne hors champ
supprimer l'espace par la fonction remplacer
utiliser cette colonne pour la recherche avec la fonction:
=INDEX(CHAMP COMPLET;EQUIV(Ref à trouver;COLONNE REF TRANSFORMÉES;0);N° de colonne du champ à éditer)
soit pour un champ A2 D1000 avec une colonne transformée en X2:X1000 et une référence entrée en R1:
=INDEX($A$2:$A$1000,EQUIV(R1;$X$2:$X$1000;0);2)
vous ressortira la valeur correspondantes dans la deuxième colonne du champ, soit ici la colonne B
les champs dans EQUIV et INDEX doivent avoir les mêmes références limites de ligne, (c'est plus simple)
Ainsi vous conservez intacte votre colonne de référence.

crdlmnt

1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 80655 internautes nous ont dit merci ce mois-ci

Messages postés
156
Date d'inscription
jeudi 3 janvier 2002
Statut
Membre
Dernière intervention
30 septembre 2010
22
Il faudrait veiller à nettoyer la chaîne de caractères en amont pour virer les espaces en fin de chaîne. Si c'est de l'import automatisé par exemple, une moulinette devrait faire ça facilement.

Sinon, tu peux commencer à gérer ce genre de cas particuliers directement dans Excel, mais à chaque nouveau cas tu devras modifier la formule...

Tu peux utiliser SUPPRESPACE() par exemple.
Messages postés
16139
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 avril 2020
2 916
bonjour,

essaies avec:
RECHERCHEV(Feuil1!B12&"*";....

tu dis...
Bonjour,

Merci à tous pour votre aide. Pour répondre à Vaucluse, c'est un problème plus humain qu'informatique. Je ne peux pas supprimer les espaces car les personnes qui remplissent gentillement ce tableau ne vont pas aprécier que je leur demande d'éviter les espaces... en gros.


J'ai essayé la formule ...&"*", et c'est super ça marche.

Merci beaucoup.