Extraire données au milieu d'une chaine de caractères?

Hello !

Merci d'avance pour votre aide précieuse

Je cherche depuis une bonne heure comment extraire une suite de caractères au milieu d'une autre, exemple concret :

en A1 j'ai :

03/07/2017;200038579;4822575354;S;1,00;2,50;21;

en A2 :

11/07/2017;300003017;4822581676;S;1,00;11,80;92.69;

Dans un deuxième tableau (autre fichier), j'ai un tableau trié par la 3ème valeur entre les points virgules (4822575354 et 4822581676 dans l'exemple ici), auquel je souhaite faire correspondre la dernière valeur (21 et 92.69).

Mon but serait donc d'avoir :

4822575354 en A1 et 21 en A2

4822581676 en A1 et 92.69 en A2

J'ai cru comprendre que je devrais utiliser plusieurs fonctions en une seule (CHERCHE et STXT ?!), mais compte tenu de mon niveau en Excel, je peux y passer plusieurs mois...

J'espère m'être exprimé clairement !

Merci encore,

38tableauexcel.xlsx (480.67 Ko)

bonjour

si les val à extraire sont toujours +/- dans les memes zones

109alk.xlsx (487.96 Ko)

cordialement

Merci beaucoup pour ta réponse !

Cela fonctionne avec mon exemple, mais pas avec le reste de mes données : si il y a un "." (dans 35.2 par exemple), il ne le détecte pas comme un nombre, et sur les lignes plus longues (par exemple : 03/07/2017;200040519+20040636;4822575435;S;1,00;5,00;72.71; ), il détecte le S1,005,0.

Pour cette raison, j'aurais vraiment besoin de récupérer le dernier groupe entre ; ;

re

essaye en enlevant les *1

sinon remet une pj avec plus de cas à rencontrer

cordialement

Bonjour alk, Tulipe,

Bonjour le forum,

quelque chose comme ça?

Private Sub cmdGO_Click()
'
Dim tData
'
iRow = Range("A" & Rows.Count).End(xlUp).Row
'
For x = 1 To iRow
    tData = Split(Cells(x, 1), ";")
    Cells(x, 10) = tData(2)
    Cells(x, 11) = tData(UBound(tData) - 1)
Next
'
End Sub

A adapter à ta situation...

A+

75extract.xlsm (19.04 Ko)
Rechercher des sujets similaires à "extraire donnees milieu chaine caracteres"