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

Garamante

XLDnaute Junior
Salut :eek:)

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 !!!
 

job75

XLDnaute Barbatruc
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+
 

dem1973

XLDnaute Nouveau
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.
 

job75

XLDnaute Barbatruc
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+
 

job75

XLDnaute Barbatruc
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:

Staple1600

XLDnaute Barbatruc
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 ;)
 

dem1973

XLDnaute Nouveau
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.
 

kariboox

XLDnaute Nouveau
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!:cool:
 

marie_ca

XLDnaute Nouveau
Re : Extraire une chaine de caractères d'entre deux caractères identiques

Bonjour,

Moi je cherche un peu la même chose, à savoir extraire des caractères situés entre deux espaces, et jusque là je n'y suis pas parvenue. Pouvez-vous m'aider ?

Merci !
 

Pièces jointes

  • Classeur1.xlsx
    8.4 KB · Affichages: 124
  • Classeur1.xlsx
    8.4 KB · Affichages: 103

Discussions similaires