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