Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Recherche dans une chaine de caractère

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
J'ai trouvé un petit souci ,si vous pouvez m'aider .quand j'ai par exemple 12345 en premier (code 1 ) et que moi je cherche 1234 (code2) il me renvoi code 1 car bien évidement c'est la première valeur qu'il coïncide 😅
 
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.
 
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.
 
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 !
 
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)))));"")
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…