Microsoft 365 Recherche texte dans chaines de textes

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à tous :)

Je cherche une formule que je ne parviens pas à trouver malgré mes tests et recherches.
Le contexte :
Dans la feuille "Base", j'ai des RdVs Faits.
- La col B contient les noms des Prospects,

Dans la feuille "Facture", j'ai les RdVs facturés,
- La col E contient des chaines de caractère, les noms des Prospects sont dedans,
- exemple : en ligne 2 la chaine est "la fourmi Prospect 01 Le Cannet (06110)". Elle contient "Prospect 01" qui se trouve également dans la feuille "Base".

Ma demande :
La formule (que je ne parviens pas à trouver) serait dans la feuille "Base" col N pour chaque ligne
Renvoie le nom "Prospect 01" si il est trouvé dans la plage "e2:e50" de la feuille "Facture"

Je joins un petit fichier test.
Un grand merci à tous,
Amicalement,
lionel :)
 

Pièces jointes

  • recherche_factures.xlsm
    28.7 KB · Affichages: 5
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour djidji59430, le Forum,
Bonne journée à toutes et à tous :)

@djidji59430 :
Nul de chez nul que je suis, je n'arrive pas à comprendre ta formule qui fonctionne très bien :
Je décompose :
=SI(SOMME
- (--
- (ESTNUM
- (CHERCHE(B4;Facture!E$2:E$50))))
- =1
- ;B4;"")

Si, par exemple, dans la feuille Base cellule B2 j'ai "la fourmi", il ne trouve pas et je n'arrive pas à trouver pourquoi ? (et pourtant, "la fourmi" est bien dans la feuille Facture)

Veux-tu m'expliquer ce que font :
=SI(SOMME
- (--
- (ESTNUM
- (CHERCHE(B4;Facture!E$2:E$50))))
- =1

Merci beaucoup,
lionel :)
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Chalut Marcel :)

Si, par exemple, dans la feuille Base cellule B2 j'ai "la fourmi", il ne trouve pas et je n'arrive pas à trouver pourquoi ? (et pourtant, "la fourmi" est bien dans la feuille Facture)

Je remets le fichier avec "la fourmi" en Prospect en B2
:)
 

Pièces jointes

  • recherche_factures special.xlsm
    23.3 KB · Affichages: 5

TooFatBoy

XLDnaute Barbatruc
T'as essayé >= au lieu de = ?

Je pense d'ailleurs que le ESTNUM est suffisant (voire un SIERREUR), et donc que le SOMME est inutile. 🤔


Moi je ne peux pas essayer : impossible de modifier les fichiers Excel sur mon tél.
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Je remets le fichier avec "la fourmi" en Prospect en B2
Je pense que dans le fichier en question, il y a une petite coquille dans la formule : il manque des $ pour la matrice dans laquelle effectuer la recherche, ;)

C'est bizarre, mais apparemment la forme matricielle n'est pas utile avec la fonction CHERCHE (mais je peux me tromper, bien sûr !).
CHERCHE semble retourner la position dans la chaîne de la première occurrence trouvée.


Tu peux essayer cette formule :
Code:
=SIERREUR(SI(CHERCHE(B2;Facture!E$2:E$6);B2);"")
 
Dernière édition:

djidji59430

XLDnaute Barbatruc
=SI(SOMME
- (--
- (ESTNUM
- (CHERCHE(B4;Facture!E$2:E$50))))
- =1
(ESTNUM(cherche renvoie une matrice de vrai ou faux qui passe a 1 ou 0 avec les --
on fait la somme de cette matrice qui doit etre positive
si somme >=1, condition vrai

Crdlmt
 

TooFatBoy

XLDnaute Barbatruc
@ @djidji59430 : Merci pour le ">=" c'est la bonne solution et ça marche ... Mais a quoi servent les "--" ?
Euh... c'est moi qui t'aies dit de mettre >= (voir #9) ;)

Il t'a déjà répondu et on te l'a déjà expliqué dans d'autres fils de discussion : le premier moins transforme le FAUX en 0 et le VRAI en 1 et change le signe (donc on a soit 0 soit -1), le deuxième moins change le signe (donc on a soit 0 soit 1).
 
Dernière édition:

Discussions similaires

Réponses
22
Affichages
1 K

Statistiques des forums

Discussions
312 206
Messages
2 086 221
Membres
103 158
dernier inscrit
laufin