Extraction des nombres dans une chaîne

Bonjour,

Je me permets de vous écrire car j'ai besoin d'aide en VBA. Je suis débutant et j'essaie actuellement d'extraire les nombres d'une chaine et cela sur toute la feuilles Excel. (Cf rectangles bleu)

Le problème est que dès la 2ième ligne jusqu'à la dernière le résultat récupère le résultat de la ligne précedente et cumule... (cf les encadrés en rouges) (nouveau résultat en rectangle vert)

Je n'arrive pas à trouver dans mon code (ci-dessous) où se trouve cet erreur de cumulation.

Pouvez-vous m'aiguiller vers la bonne solution svp?

En vous remerciant par avance

L.TVM

image image

------------------------------------------------------------------------------------------------------------

Sub extraireValeursNumeriques_DansChaine()
Dim i As Integer, Nb As Integer
Dim Cible As String, Resultat As String
Dim Nombre As Double
Const StartRow As Byte = 1
Dim LastRow As Long
Dim r As Long 'For looping through rows


LastRow = Range("B" & Rows.Count).End(xlUp).Row

For r = StartRow To LastRow


Cible = Range("B" & r).Value

For i = 1 To Len(Cible)
If IsNumeric(Mid(Cible, i, 1)) Then
Nombre = Val(Mid(Cible, i, Len(Cible) - i + 1))
Nb = Nb + 1
Resultat = Resultat & Nombre & vbLf
i = i + Len(Str(Nombre)) - 1
End If
Next i

'MsgBox "Il y a " & Nb & " valeurs numériques dans la cellule " & vbLf & Resultat

Range("C" & r).Value = Resultat

Next r


End Sub

---------------------------------------------------------------------------------------------------------------------------

Bonjour,

ajoute

Resultat=""

juste après ton instruction for r

Bonjour h2so4,

Milles merci cela fonctionne parfaitement! Quand je pense qu'il me manquait simplement cette ligne. :)

Lesson learned! :)

Rechercher des sujets similaires à "extraction nombres chaine"