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

  • Classeur1.xlsx
    13.3 KB · Affichages: 6
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.
 

sanae_J

XLDnaute Nouveau
Bonjour ,J'ai testé votre dernière solution mais malheureusement j'ai rencontré un problème; quand j'insère une ligne et je duplique la formule il me renvoie une valeur aléatoire même si j'ai rien renseigné comme code !
 

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
4
Affichages
491

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof