Extraire un mot entre 2 tirets ?

Bonsoir,

Je cherche désesperement une formule pour extraire un mot qui se trouve toujours entre 2 tirets.

Exemple en A j'ai :

67 - Selestat - Route
06 - Theoule - Plage

et en B je voudrais extraire :

En B1: Selestat

En B2: Theoule

etc...

Attention car ce n'est pas forcément du texte il faut peut être convertir les caractère sen texte vu que ce sont des données que j'importe d'un autre tableau.

Je vous laisse un exemple si vous avez une idée de la formule.

Merci d'avance pour votre aide :)

30test-excel.xlsx (8.67 Ko)

Bonsoir OLGone67, bonsoir le forum,

Essayez cette formule si votre donnée est en A1

=STXT(A1;CHERCHE("-";A1)+1;CHERCHE("-";A1;CHERCHE("-";A1)+1)-CHERCHE("-";A1)-1)

Cordialement

AL 22

bonsoir le fil,

=SUPPRESPACE(STXT(SUBSTITUE(A1;"-";REPT(" ";100));100;100))

Bonjour,
Une autre formule.
Cdlt.

=FILTRE.XML("<x><y>" & SUBSTITUE(A1;"-";"</y><y>") & "</y></x>";"//y[2]")

Bonsoir Jean-Eric,

Bon cela fonctionne, mais j'ai l'impression de me retrouver bien des années en arrière lorsque j'avais du mal avec INDEX et EQUIV, SOMMEPROD, INDIRECT...
Je ne saisis pas le fonctionnement. Bon le SubStitue, ça va, mais le filtre avec en argument //y[2]

@ bientôt

LouReeD

Bonjour,
@LouReed,
Les fonctionnalités de ServiceWeb, Filtre.Xml, EncodeUrl et surtout XPath pour Excel sont très mal documentées.
J'avais commencé à me documenter sur le sujet, mais...
Un petit fichier !?.

Bonjour à tous !

Les fonctionnalités de ServiceWeb, Filtre.Xml, EncodeUrl et surtout XPath pour Excel sont très mal documentées.
J'avais commencé à me documenter sur le sujet, mais...
Un petit fichier !?.

Grand merci pour ce partage très instructif !

Re,
Un nouvel exemple pour la conversion de devises (en temps réel) ?
Pas de nouvelles de LouReed ?
Bonne journée.
Cdlt.

Bonjour à tous de nouveau !

Un nouvel exemple pour la conversion de devises (en temps réel) ?

Pas même une petite fonction LET saupoudrée d'ASSEMB.H et ASSEMB.V pour avoir en une formule unique et dynamique l’entièreté du tableau ?

Je suis (presque) déçu....

=LET(
i_;FILTRE.XML(B2;"//@rate | //@currency");
idx_;SEQUENCE(LIGNES(i_));
d_;FILTRE(i_;MOD(idx_;2)=1);
c_;FILTRE(i_;MOD(idx_;2)=0);
ASSEMB.V(ASSEMB.H("Devise";"Taux");ASSEMB.H(d_;c_))
)

Remarque : ma colonne c_ (Taux) a été allégée par rapport à votre formule initiale.

Merci encore d'alimenter ma jubilation quotidienne !

Rechercher des sujets similaires à "extraire mot entre tirets"