Macro, copier que les chiffres

Résolu
Bonjour,

est ce que qqn sait comment faire pour créer une macro qui récupere que les chiffres dans un texte.

par exemple
dans la case a1 c'est écrit " la quantité est de 1500kg"
et sur la case A2 je récupere que 1500

merci.

2 réponses

  1. Modérateur
    Bonjour,
    Oui, moi je sais faire ça!

    Enfin, disons en tout cas que quelqu'un l'a déjà fait et je vais donc profiter de son travail...
    Sources Silkyroad
    Macro :
    Sub extraireValeursNumeriques_DansChaine()
        Dim i As Byte, Nb As Byte
        Dim Cible As String, Resultat As String
        Dim Nombre As Double
        
        Cible = Range("A1")
        'Pour que fonction Val puisse reconnaitre les décimales: Remplacement des
        'virgules par des points
        Cible = Replace(Cible, ",", ".")
        'Pour gérer deux nombres qui se suivent: remplacement des espaces
        'par un caractère Alpha
        Cible = Replace(Cible, " ", "x")
        
        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
        
        MsgBox "Il y a " & Nb & " valeurs numériques dans la cellule " & vbLf & "en l'occurence : " & vbLf & Resultat
    End Sub
    --
    Cordialement,
    Franck P
    2
    1. magnifique,

      je rajoute juste une chose à la fin
      Range("b1") = Resultat "pour récupérer que le chiffre

      merci beaucoup
      0
      1. Modérateur
        Effectivement le Range("B1") = Resultat, je te l'ai laissé. C'est de l'adaptation...
        De rien.
        A+
        0