Microsoft 365 Recherche dans une chaine de caractère

sanae_J

XLDnaute Nouveau
Bonjour cher communauté, Je souhaite avoir le numéro correspondant au code dans la feuille 1(données utilisées feuille 2) ,sachant que je peux avoir plus qu'un seul code par pièce dans la même cellule .Malheureusement recherche V ne fonctionne pas dans ce cas vu que la recherche se fait à gauche ,j'ai essayé avec index(equiv) mais ça marche pas aussi.
Y a t il une autre fonction que je peux utiliser pour résoudre ce problème ? merci d'avance pour votre aide.
 

Pièces jointes

Solution
J'avé pas vu celle là ! :)
Qui plus ait on pourrait avoir au 01234 et chercher 1234, ça marche pas non plus.
Donc un essai plus compliqué avec :
VB:
=SIERREUR(INDEX(Feuil2!A:A;EQUIV(A3&";"&"*";Feuil2!B:B;0));SIERREUR(INDEX(Feuil2!A:A;EQUIV("*"&A3&";"&"*";Feuil2!B:B;0));INDEX(Feuil2!A:A;EQUIV("*"&A3;Feuil2!B:B;0))))
Qui différencie :
- 1234 au début avec 1234;*
- 1234 au milieu avec *1234;*
- 1234 à la fin avec *1234
En espérant avoir tout couvert.

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'avé pas vu celle là ! :)
Qui plus ait on pourrait avoir au 01234 et chercher 1234, ça marche pas non plus.
Donc un essai plus compliqué avec :
VB:
=SIERREUR(INDEX(Feuil2!A:A;EQUIV(A3&";"&"*";Feuil2!B:B;0));SIERREUR(INDEX(Feuil2!A:A;EQUIV("*"&A3&";"&"*";Feuil2!B:B;0));INDEX(Feuil2!A:A;EQUIV("*"&A3;Feuil2!B:B;0))))
Qui différencie :
- 1234 au début avec 1234;*
- 1234 au milieu avec *1234;*
- 1234 à la fin avec *1234
En espérant avoir tout couvert.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Evidemment qu'il manquait une configuration ! 😂
Dans 5678;991234 il détecte 1234.
Là c'est mieux :
VB:
=SIERREUR(INDEX(Feuil2!A:A;EQUIV(A3&";"&"*";Feuil2!B:B;0));SIERREUR(INDEX(Feuil2!A:A;EQUIV("*"&A3&";"&"*";Feuil2!B:B;0));INDEX(Feuil2!A:A;EQUIV("*;"&A3;Feuil2!B:B;0))))
juste un petit ";" qui manquait.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
S'il n'y a pas de code, donc vide, il va trouver une cellule ou il y a du vide dans la colonne Code.
J'avais pas prévu ça.
Avec cette formule, s'il n'y a pas de code, on sort :
VB:
=SIERREUR(SI(A3="";"";SIERREUR(INDEX(Feuil2!A:A;EQUIV(A3&";"&"*";Feuil2!B:B;0));SIERREUR(INDEX(Feuil2!A:A;EQUIV("*"&A3&";"&"*";Feuil2!B:B;0));INDEX(Feuil2!A:A;EQUIV("*;"&A3;Feuil2!B:B;0)))));"")
 

Discussions similaires

Réponses
16
Affichages
745
Réponses
4
Affichages
769

Statistiques des forums

Discussions
315 289
Messages
2 118 063
Membres
113 420
dernier inscrit
Mourad Ben Ghazela