Extraire une chaine de caractères d'entre deux caractères identiques

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 !

Garamante

XLDnaute Junior
Salut 😱)

Je n'ai pas trouvé mon bonheur dans le forum alors je vous soumets mon problème.

je veux extraire une chaine de caractères se trouvant entre deux slashs ( / ) identiques (ici l'alphabet
phonétique "pætʃ")

Exemple:


patch 1 / pætʃ / noun [ countable ]​


J'ai dû approcher la solution plus d'une fois mais pour l'instant nada, quelqu'un pour m'aider ?


Merci !!!
 
Re : Extraire une chaine de caractères d'entre deux caractères identiques

Bonjour Garamante,

Le texte étant en A1 essayez en B1 :

Code:
=SI(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))<2;"";SUPPRESPACE(STXT(A1;TROUVE("/";A1)+1;TROUVE("/";A1;TROUVE("/";A1)+1)-TROUVE("/";A1)-1)))
A+
 
Re : Extraire une chaine de caractères d'entre deux caractères identiques

Bonjour,

J'ai exactement le même besoin, mais sans espaces dans la chaîne.

Exemple ci-dessous : je veux extraire "Salle G26 - Zone CO"

/AT/FRANCE/AT.BEZ/Batiment G02/Salle G26 - Zone CO/G26-C-02/

Qu'est-ce que cela pourrait donner SVP ?

Merci pour votre aide.
 
Re : Extraire une chaine de caractères d'entre deux caractères identiques

Bonjour dem1973, bienvenue sur XLD,

Je prends juste connaissance de ce post.

La question mériterait plus d'explications, mais en faisant 2 hypothèses :

- le texte contient au moins 6 slashes /

- on recherche la chaine comprise entre le 5ème et le 6ème slash,

on peut utiliser cette formule assez simple à comprendre :

Code:
=STXT(A1;TROUVE("µ";SUBSTITUE(A1;"/";"µ";5))+1;TROUVE("µ";SUBSTITUE(A1;"/";"µ";6))-TROUVE("µ";SUBSTITUE(A1;"/";"µ";5))-1)
A+
 
Re : Extraire une chaine de caractères d'entre deux caractères identiques

Re,

Maintenant si n étant le nombre de slashes on veut trouver la chaine entre les slash n-2 et le slash n-1, il suffit dans la formule précédente de remplacer 5 et 6 par :

NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))-2
NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))-1


ce qui donne une formule nettement plus compliquée :

Code:
=STXT(A1;TROUVE("µ";SUBSTITUE(A1;"/";"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))-2))+1;TROUVE("µ";SUBSTITUE(A1;"/";"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))-1))-TROUVE("µ";SUBSTITUE(A1;"/";"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))-2))-1)
qui suppose au moins 3 slashes.

Et si l'on veut se débarrasser de cette dernière hypothèse, formule encore plus compliquée :

Code:
=SI(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))<3;"";STXT(A1;TROUVE("µ";SUBSTITUE(A1;"/";"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))-2))+1;TROUVE("µ";SUBSTITUE(A1;"/";"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))-1))-TROUVE("µ";SUBSTITUE(A1;"/";"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))-2))-1))
A+
 
Dernière édition:
Re : Extraire une chaine de caractères d'entre deux caractères identiques

Bonjour à tous

J'ai exactement le même besoin, mais sans espaces dans la chaîne.
Exemple ci-dessous : je veux extraire "Salle G26 - Zone CO"
Je sais pas vous mais moi j'en vois trois des espaces non? 😉

dem1973
Sinon pour te question, tu veux juste une solution formule, ou passer par VBA+RegExp avec fonction personnalisée est autorisé?

PS: La coutume veut qu'on pose sa question dans un fil qu'on crée pour l'occasion et non pas dans le fil d'un petit camarade de jeu 😉
 
Re : Extraire une chaine de caractères d'entre deux caractères identiques

Bonjour,

Bonjour à tous

Je sais pas vous mais moi j'en vois trois des espaces non? 😉
Oui, effectivement, j'ai mal exprimé la chose : "pas d'espace entre les caractères identiques". J'ai vu que dans la formule matricielle de solution on en tenait compte et ça m'a gêné pour appliquer directement.

Staple1600 à dit:
dem1973
Sinon pour te question, tu veux juste une solution formule, ou passer par VBA+RegExp avec fonction personnalisée est autorisé?
Solution formule STP. Le VBA, je ne connais pas à mon grand regret, et je n'ai pas le temps pour le moment de m'y plonger.

Staple1600 à dit:
PS: La coutume veut qu'on pose sa question dans un fil qu'on crée pour l'occasion et non pas dans le fil d'un petit camarade de jeu 😉
OK, ma question étant fort rapprochante, je n'ai pas hésité à allonger le fil (sur d'autres forum on se fait allumer quand on n'a pas utilisé la fonction "Recherche"...). Je créerai un nouveau post à l'avenir.

Je n'ai pas encore testé les solutions, je vous tiens au courant. Encore merci.
 
Re : Extraire une chaine de caractères d'entre deux caractères identiques

Bonjour,

j'ai un besoin équivalent aux post ci dessus, mais je parviens pas à adapter ma formule
en colonne A, j'ai toute une liste de type :
p1sm-fb_r1.#24.tow

Je voudrais extraire juste le nombre situé entre le # et le .tow

Si quelqu'un pourrait m'aider, ce serait top!😎
 
Re : Extraire une chaine de caractères d'entre deux caractères identiques

Bonsoir kariboox,

essayer cette formule:
Code:
=CNUM(STXT(A1;TROUVE("#";A1)+1;TROUVE(".";A1;TROUVE("#";A1))-TROUVE("#";A1)-1))
ou
Code:
=CNUM(STXT(A1;TROUVE("#";A1)+1;TROUVE(".tow";A1)-TROUVE("#";A1)-1))
 
- 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

Discussions similaires

Retour