Extraire la fin d'une chaine de caractère
Résolu
mr.denver
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
je cherche à extraire d'une cellule la chaine de caractères qui précède le dernier tiret de de toute la chaine de caractère, et pouvoir répéter cette fonction sur plusieurs cellules dont la chaine de caractère n'est pas toujours de même longueur.
ex:extraire seulement "T1TRANSFO" de la chaine : "PMFR-MTA-C-5758-ELEHT-T1TRANSFO"
PMFR-MTA-C-5758-ELEHT-T1TRANSFO
PMFR-MTA-C-5758-FROID-CLIM
PMFR-MTA-C-5758-INCEN-DETINC
PMFR-MTA-C-5758-INCEN-POSTSPK
PMFR-MTA-C-5758-INCEN-STOCKSPK
PMFR-MTA-C-5758-INGAZ-DETGAZ
PMFR-MTA-C-5758-LEVAG-MONTECG
PMFR-MTA-C-5758-PORBA-PORTRAPID
je vous remercie par avance
ex:extraire seulement "T1TRANSFO" de la chaine : "PMFR-MTA-C-5758-ELEHT-T1TRANSFO"
PMFR-MTA-C-5758-ELEHT-T1TRANSFO
PMFR-MTA-C-5758-FROID-CLIM
PMFR-MTA-C-5758-INCEN-DETINC
PMFR-MTA-C-5758-INCEN-POSTSPK
PMFR-MTA-C-5758-INCEN-STOCKSPK
PMFR-MTA-C-5758-INGAZ-DETGAZ
PMFR-MTA-C-5758-LEVAG-MONTECG
PMFR-MTA-C-5758-PORBA-PORTRAPID
je vous remercie par avance
A voir également:
- Extraire la fin d'une chaine de caractère
- Extraire une video youtube - Guide
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Extraire le son d'une vidéo - Guide
- Caractere speciaux - Guide
7 réponses
Bonjour
Le texte est en A5
Il faut toujours 5 tirets voici une formule
=DROITE($A5;NBCAR($A5)-TROUVE("-";$A5;(TROUVE("-";$A5;TROUVE("-";$A5;(TROUVE("-";$A5;(TROUVE("-";$A5;1)+1))+1))+1)+1)))
Le texte est en A5
Il faut toujours 5 tirets voici une formule
=DROITE($A5;NBCAR($A5)-TROUVE("-";$A5;(TROUVE("-";$A5;TROUVE("-";$A5;(TROUVE("-";$A5;(TROUVE("-";$A5;1)+1))+1))+1)+1)))
Bonjour à tous,
Comme tu as toujours 5 tirets et le 5ème toujours en même position :
=STXT(A2;CHERCHE("-";A2;21)+1;50)
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(devise Shadok)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Comme tu as toujours 5 tirets et le 5ème toujours en même position :
=STXT(A2;CHERCHE("-";A2;21)+1;50)
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(devise Shadok)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
merci bcp pour les réponces rapide ça marche tres bien, entre temps moi aussi j'ai trouvé une solution:
=DROITE(A390;NBCAR(A390)-TROUVE("-";A390)-17)
mais au faite j'ai oublier de mentionner que parfois j'ai des chaine qui ne comporte pas 5 tiret et la par contre je ne voudrais rien extraire, en gros je voudrais extraire que les caractaitre qui précède le 5ème tiret sinon une cellule vide...une difficulté de plus
ex:
PMFR-MTA-B-LC27-PALET-RBT07
PMFR-MTA-C
PMFR-MTA-C-0147
PMFR-MTA-C-0147-EAUCH
PMFR-MTA-C-0147-EAUCH-SSTATION
PMFR-MTA-C-0147-ECLAI
PMFR-MTA-C-0147-ECLAI-BAES
je vous remerci par avance
=DROITE(A390;NBCAR(A390)-TROUVE("-";A390)-17)
mais au faite j'ai oublier de mentionner que parfois j'ai des chaine qui ne comporte pas 5 tiret et la par contre je ne voudrais rien extraire, en gros je voudrais extraire que les caractaitre qui précède le 5ème tiret sinon une cellule vide...une difficulté de plus
ex:
PMFR-MTA-B-LC27-PALET-RBT07
PMFR-MTA-C
PMFR-MTA-C-0147
PMFR-MTA-C-0147-EAUCH
PMFR-MTA-C-0147-EAUCH-SSTATION
PMFR-MTA-C-0147-ECLAI
PMFR-MTA-C-0147-ECLAI-BAES
je vous remerci par avance
Bonjour
La formule est un peu longue mais elle fonctionne sans imposer une position à 21 ou un -17 ou autre caractère
S'il n'y a pas cinq tirets rien n'est affiché
=SI(ESTERREUR(DROITE($A6;NBCAR($A6)-TROUVE("-";$A6;(TROUVE("-";$A6;TROUVE("-";$A6;(TROUVE("-";$A6;(TROUVE("-";$A6;1)+1))+1))+1)+1))));"";DROITE($A6;NBCAR($A6)-TROUVE("-";$A6;(TROUVE("-";$A6;TROUVE("-";$A6;(TROUVE("-";$A6;(TROUVE("-";$A6;1)+1))+1))+1)+1))))
La formule est un peu longue mais elle fonctionne sans imposer une position à 21 ou un -17 ou autre caractère
S'il n'y a pas cinq tirets rien n'est affiché
=SI(ESTERREUR(DROITE($A6;NBCAR($A6)-TROUVE("-";$A6;(TROUVE("-";$A6;TROUVE("-";$A6;(TROUVE("-";$A6;(TROUVE("-";$A6;1)+1))+1))+1)+1))));"";DROITE($A6;NBCAR($A6)-TROUVE("-";$A6;(TROUVE("-";$A6;TROUVE("-";$A6;(TROUVE("-";$A6;(TROUVE("-";$A6;1)+1))+1))+1)+1))))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
en plus court :
=SI(NBCAR(A2)-NBCAR(SUBSTITUE(A2;"-";""))=5;STXT(A2;CHERCHE("-";A2;21)+1;50);"")
eric
en plus court :
=SI(NBCAR(A2)-NBCAR(SUBSTITUE(A2;"-";""))=5;STXT(A2;CHERCHE("-";A2;21)+1;50);"")
eric
Bonsoir
ou alors:
=STXT(A1;TROUVE("/";SUBSTITUE(A1;"-";"/";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))))+1;25)
qui fonctionne quelque soit le nombre de tirets
crdlmnt
ou alors:
=STXT(A1;TROUVE("/";SUBSTITUE(A1;"-";"/";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))))+1;25)
qui fonctionne quelque soit le nombre de tirets
crdlmnt
Bonjour Eriiic
Je me suis mal exprimé, dans votre formule vous chercher le tiret à partir du 21 caractères et pour moi cela impose que toutes les chaînes analysées comportant 5 tirets soient composées d'un minimum de 21 caractères. Je préfère une formule sans contrainte. C'est uniquement pour mon information.
Merci Eriiic et Vaucluse pour vos réponses
Je me suis mal exprimé, dans votre formule vous chercher le tiret à partir du 21 caractères et pour moi cela impose que toutes les chaînes analysées comportant 5 tirets soient composées d'un minimum de 21 caractères. Je préfère une formule sans contrainte. C'est uniquement pour mon information.
Merci Eriiic et Vaucluse pour vos réponses