Bonsoir à tous,
Je suis bloquée sur mon fichier, ayant un niveau assez pauvre en formule Excel.
Je souhaiterais trouver et extraire une partie de texte dans la colonne D (Store Name) afin de pouvoir suivre si mes produits sont dans des magasins Express, Extra ou Métro
GOODMAYES EXTRA --> EXTRA
GLASGOW SAUCHL METRO --> METRO
La formule GAUCHE ou Droite n’étant pas possible car les magasins ont des noms qui varient énormément.
Voici le fichier en PJ. Merci d’avance pour votre aide précieuse.
ClarisseBDD_T_Docteurexcel.xlsx (9,7 Ko)
Bonjour
A mettre en N2 (Je suppose) et à valider par CTRL MAJ et ENTREE et tirer vers le bas (Formule matricielle)
=DROITE(D2;EQUIV(" ";STXT(D2;NBCAR(D2)-LIGNE($1:$255);1);0))
BDD_T_Docteurexcel.xlsx (11,8 Ko)
Voir même pour avoir EXPRESS en entier
=SI(DROITE(D2;EQUIV(" ";STXT(D2;NBCAR(D2)-LIGNE($1:$255);1);0))="EXP";"EXPRESS";DROITE(D2;EQUIV(" ";STXT(D2;NBCAR(D2)-LIGNE($1:$255);1);0)))
Toujours en matricielle
Merci beaucoup mais ce que tu proposes ne fonctionne pas malheureusement.
Je ne pense pas que ce soit la fonction adapté car il y a 800 magasins avec tous des noms et un nombre de caractères différents
J’étais plus partis là dessus: =SI(OU(ESTNUM(CHERCHE(« EXTRA »;D10));« EXTRA »;SI(ESTNUM(CHERCHE(« EXP »;D10));« EXPRESS »;SI(ESTNUM(CHERCHE(« METRO »;D10));« METRO »);« »)))
mais excel me renvoient que le nombre d’arguments est trop grand
Merci encore
Re,
Au lieu de dire, “Je pense pas” as-tu testé 
Re,
Je ne te parle pas de la tienne mais de la mienne
Surtout ne valide pas avec les touches CTRL + MAJ + Entrée comme j’ai précisé 
c’est bien la tienne qui est utilisée sur cette impression écran
Re,
Tu n’as pas validé la formule par CTRL + MAJ + Entrée 

Pardon, en effet cela fonctionne sur l’exemple que je t’ai donné mais pas sur ma vrai base.
Puis je te donner un autre exemple?
Re,
Bien sur, il faut toujours donner un classeur exemple avec des tests le plus “Fou” pour être sur que cela fonctionne
ça peut un peu de temps car mon fichier est très lourd et plante sans arrêt
Re,
Si c’est trop lourd, passe par https://mon-partage.fr/
et précise ta version EXCEL
Désolée, excel rame à 200%
Re,
Tu n’as pas besoin d’Excel pour envoyer un classeur
tu vas sur https://mon-partage.fr/
dans choisir un fichier, tu choisi ton classeur
lancer le partage en cliquant sur « Uploader »
à la fin tu récupères le lien que tu places dans ton message
BDD_T_Docteurexcelv2.xlsx (39,4 Ko)
Enfin, désolée encore
Bonjour,
Un test avec une fonction personnalisé pour trouver le dernier mot
Function dernier_mot(texto As Range) As String
Dim tablo
tablo = Split(texto)
dernier_mot = tablo(UBound(tablo))
End Function
et la formule pour les rechercher
=SI(OU(dernier_mot(D9)="EXTRA";dernier_mot(D9)="EXTR";dernier_mot(D9)="EXT");"EXTRA";SI(OU(dernier_mot(D9)="EXPRESS";dernier_mot(D9)="EXPR";dernier_mot(D9)="EXP");"EXPRESS";SI(OU(dernier_mot(D9)="METRO";dernier_mot(D9)="METR";dernier_mot(D9)="MET");"METRO";"")))
BDD_T_Docteurexcelv2.xlsm (46,8 Ko)
Bonjour Mimimathy,
J’espère que tu vas bien,
Merci pour cette formule, je pense qu’on y est presque mais excel me renvoit une erreur concernant le nom. A ce stade, je ne vois pas ce qui pourrait clocher?
Merci encore,
ClarismartBDD_T_Docteurexcelv2.xlsx (43,4 Ko)
Re,
Si tu lis attentivement mon dernier post, je précise
Bonjour,
Un test avec une fonction personnalisé pour trouver le dernier mot
Function dernier_mot(texto As Range) As String
Dim tablo
tablo = Split(texto)
dernier_mot = tablo(UBound(tablo))
End Function
Si tu ne mets pas la function dans un module du VBA et que n’enregistre pas le classeur en *.xslm, c’est entièrement logique
BDD_T_Docteurexcelv2 (1).xlsm (49,1 Ko)
Oui, le problème c’est que c’est du chinois pour moi.
Si tu ne mets pas la function dans un module du VBA: petit guide pratique pour les quiches?
Merci d’avance,
clarismart
Re,
En tant que Vosgien, je vais m’exprimer à la façon « Quiche Lorraine »
Qu’est ce qu’une fonction
SI() - Recherchev() - etc (il y en a des dizaines dans Excel) sont des fonctions propres à Excel
Pour résoudre certains problème de longueur ou de répétition de formule, on créé une Fonction personnalisée que l’on place dans un module de VISUAL BASIC .(VBA)
Comme cela fait partie de VBA, on enregistre le classeur en *.xlsm
Si sur ton ruban, l’onglet DEVELOPPEUR" n’est pas présent, il suffit d’aller dans les OPTIONS d’EXCEL - Personnaliser le ruban. Dans le cadre de droite, il suffit de cocher la case « Développeur » et l’onglet sera présent.
Cela te permettra depuis ce menu, de cliquer sur Visual Basic (tout à gauche) qui t’ouvrira le programme
avec cette macro qui se trouve dans un module (double clic sur le module pour voir)
Un lien qui pourra t’en dire un peu plus