Extraire chaine de caractère entre autres caractères

Bonjour à tous,

Question posée et reposée sur les forums mais je continue à ne pas comprendre comment ça marche.

J'ai besoin d'extraire des caractères d'une chaine comme suit, d'une longueur constante de 13 caractères:

100204780TS25

102505055TS15

100007211TW58

100204870TR85

Je dois extraire les nombres qui sont après le premier 0 et avant le T donc pour le premier exemple 204780 et le second 2505055

Merci pour votre aide

Tsetse

bonjour,

si valeur en A1

=STXT(A1;TROUVE("0";A1)+1;TROUVE("T";A1)-TROUVE("0";A1)-1)

bonjour,

si valeur en A1

=STXT(A1;TROUVE("0";A1)+1;TROUVE("T";A1)-TROUVE("0";A1)-1)

Merci beaucoup h2so4!!!!

Je fais un test mais je comprends que ça prend le premier caractère après le premier 0 trouvé donc dans mon premier exemple ça me donne 0204780 au lieu de 204780

Merci par avance

Tsetse

bonjour,

si valeur en A1

=STXT(A1;TROUVE("0";A1)+1;TROUVE("T";A1)-TROUVE("0";A1)-1)

Merci beaucoup h2so4!!!!

Je fais un test mais je comprends que ça prend le premier caractère après le premier 0 trouvé donc dans mon premier exemple ça me donne 0204780 au lieu de 204780

Merci par avance

Tsetse

et je dois reconnaître que dans ma question j'ai écrit après le premier 0 plutôt que après le dernier zero qui suit le 1. désolé pour cela...mes exemples sont par contre corrects

bonjour,

si valeur en A1

=STXT(A1;TROUVE("0";A1)+1;TROUVE("T";A1)-TROUVE("0";A1)-1)

Merci beaucoup h2so4!!!!

Je fais un test mais je comprends que ça prend le premier caractère après le premier 0 trouvé donc dans mon premier exemple ça me donne 0204780 au lieu de 204780

Merci par avance

Tsetse

et je dois reconnaître que dans ma question j'ai écrit après le premier 0 plutôt que après le dernier zero qui suit le 1. désolé pour cela...mes exemples sont par contre corrects

Bonjour,

si tes exemples commencent tous par 100 et que tu ne voulais pas le deuxième zéro alors il suffit de transformer le resultat

obtenu par H2so4 en nombre --->

=(STXT(A1;TROUVE("0";A1)+1;TROUVE("T";A1)-TROUVE("0";A1)-1))*1

Et si la chaine de caractère que tu veux extraire est toujours positionnée au même endroit alors tu peux aussi

utiliser pour récupérer l'info à partir du 4ème caractère et les 6 suivants :

=stxt(A1;4;6)

Pas bête la méthode tout fonctionne, un grand merci!!!!

Si je peux me permettre, je comprends

=(STXT(A1;TROUVE("0";A1)+1;TROUVE("T";A1)

mais pas

-TROUVE("0";A1)-1))

Merci par avance

Tsetse

Bonjour

peux etre par macro

A voir

Sub Test()
    For L = 1 To Range("A" & Rows.Count).End(xlUp).Row
        Var = Right(Range("A" & L), 12)
        Range("B" & L).Value = Val(Var)
    Next
End Sub

A+

Maurice

Pas bête la méthode tout fonctionne, un grand merci!!!!

Si je peux me permettre, je comprends

=(STXT(A1;TROUVE("0";A1)+1;TROUVE("T";A1)

mais pas

-TROUVE("0";A1)-1))

Merci par avance

Tsetse

C'est le même principe que celle que j'ai donné sauf que h2so4 ajoute la fonction trouve :

Fonction : Stxt(A1; premier caractère à selectionner; nombre caractère suivant à garder)

TROUVE("0";A1)+1=3 ( il trouve le 2ème caractère et ajoute 1 pour commencer après le zéro)

et

TROUVE("T";A1)-TROUVE("0";A1)-1) = il T en 10ème et retire ce qu'il a trouve pour 0 soit 2 et -1 pour avoir le caractère juste avant T donc

TROUVE("T";A1)-TROUVE("0";A1)-1)= 10 - 2 -1 = 7

ce qui à la fin revient à écrire :

=Stxt(A1;3;7)

Rechercher des sujets similaires à "extraire chaine caractere entre caracteres"