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

Pb recherche "*"&xxx&"*"

  • Initiateur de la discussion Initiateur de la discussion ripou37
  • Date de début Date de début

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 !

R

ripou37

Guest
Bonsoir,

Voilà mon problème que je vous expose brièvement,
Tout le monde connaît la recherchev au sens :
recherchev(valeur cherchée;plage de données;num de colonne;FAUX ou VRAI)

Mon problèmle est le suivant : Je cherche une valeur dans une cellule en contenant plusieurs, je dois donc inclure la notion de "contient", c'est à dire :
recherchev("*"&valeur cherchée&"*";plage de données;num de colonne;FAUX ou VRAI)

Ca fonctionne! mais le soucis - et on va prendre un exemple - :
Je cherche 123 dans une cellule contenant 123, 564, 878984 ==) OK
Je cherche 123 dans une cellule contenant 12356, 564, 878984 ==) PAS OK car 12356 n'est pas égal à 123 mais CONTIENT 123 et me renvoie les données ... comment faire ?

Merci d'avance pour votre aide !

Cordialement

Ripou37
 
Re : Pb recherche "*"&xxx&"*"

Salut @ tous,
une intervention plus simple si tu veux bien.
sur ton fichier en G3 :
Code:
=INDEX($C$4:$C$6;EQUIV("00"&$F3;GAUCHE(TEXTE(SUBSTITUE($B$4:$B$6;" ";"");"00000,0");5);0))
@ valider par Ctrl+Maj+Entree
@ tirer vers le Bas
Amicalement

Edit : Voir PJ
 

Pièces jointes

Dernière édition:
Re : Pb recherche "*"&xxx&"*"

Bonsoir ripou37,

Une formule matricielle un peu tordue et assez longue qui vérifie si la chaine recherchée:
1) est égale à un des éléments de la colonne B
2) ou débute un des éléments de la colonne B
3) ou est au milieu d'éléments de la colonne B
4) ou termine un des éléments de la colonne B
retourne #REF si chaine absente.

La formule est à saisir en G3 puis à recopier vers le bas.

La formule:
Code:
=INDEX($C$4:$C$15;MIN(SI((SUBSTITUE($B$4:$B$15;" ";"")=""&F3)+(GAUCHE(SUBSTITUE($B$4:$B$15;" ";"");NBCAR(F3&","))=F3&",")+(ESTNUM(CHERCHE(","&F3&",";SUBSTITUE($B$4:$B$15;" ";""))))+(DROITE(SUBSTITUE($B$4:$B$15;" ";"");NBCAR(","&F3))=","&F3)>0;LIGNE($B$4:$B$15)-LIGNE($B$3);9E+99)))
 

Pièces jointes

Dernière édition:
Re : Pb recherche "*"&xxx&"*"

Bonjour à tous,

Une solution dans le fichier joint.

Formule matricielle en E3, à valider par Ctrl+Maj+Entrée :

Code:
=SUPPRESPACE(RECHERCHEV("* "&E2&" *";" "&SUBSTITUE($A2:$B4;",";" ")&" ";2;0))
La recherche se fait dans une matrice où la virgule est remplacée par un espace.

Chaque nombre est encadré par 2 espaces.

Edit : bémol, je vois un problème si en colonne B il y a des nombres décimaux avec virgule !!!

A+
 

Pièces jointes

Dernière édition:
Re : Pb recherche "*"&xxx&"*"

Bonjour à tous 🙂,

ou peut-être

Code:
=SI(NB.SI(B:B;F3)>0;RECHERCHEV(F3;B:C;2;FAUX);SI(NB.SI(B:B;"*"&F3&",*")>0;RECHERCHEV("*"&F3&",*";B:C;2;FAUX);RECHERCHEV("* "&F3&"*";B:C;2;FAUX)))
 
Re : Pb recherche "*"&xxx&"*"

Re, salut tototiti,

Si en colonne B on a des nombres, toujours en matriciel en E3 :

Code:
=--SUBSTITUE(SUPPRESPACE(RECHERCHEV("* "&E2&" *";" "&SUBSTITUE($A2:$B4;",";" ")&" ";2;0));" ";",")
Fichier (2).

A+
 

Pièces jointes

Re : Pb recherche "*"&xxx&"*"

Re,

Cette 3ème formule fonctionne quelles que soient les valeurs en colonne B :

Code:
=RECHERCHEV("* "&E2&" *";SI(COLONNE($A2:$B4)=1;" "&SUBSTITUE($A2:$B4;",";" ")&" ";$A2:$B4);2;0)
En effet dans la matrice seule la 1ère colonne est modifiée.

Fichier (3).

A+
 

Pièces jointes

Re : Pb recherche "*"&xxx&"*"

Bonjour le fil, le forum,

Il manquait une solution VBA, voici une fonction macro :

Code:
Function RECHV(critere As String, matrice As Variant, col As Integer)
  Dim i As Long, txt As String
  matrice = matrice 'si matrice est une plage
  For i = 1 To UBound(matrice)
    txt = " " & Replace(matrice(i, 1), ",", "") & " "
    If InStr(txt, " " & critere & " ") Then _
      RECHV = matrice(i, col): Exit Function
  Next
  RECHV = Evaluate("#N/A")
End Function
A placer dans un Module standard (Alt+F11).

Fichier joint.

A+
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
243
  • Question Question
Microsoft 365 RECHERCHE and co
Réponses
18
Affichages
2 K
Réponses
24
Affichages
3 K
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
904
Réponses
12
Affichages
1 K
Réponses
5
Affichages
812
jui42
J
A
Réponses
12
Affichages
2 K
AnjyD
A
D
Réponses
6
Affichages
1 K
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…