Comment extraire un bout de texte

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é :face_with_raised_eyebrow:

Oui

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é :rage:

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 :rage::rage:

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