Macro, copier que les chiffres

Résolu
tirasmusyo Messages postés 50 Statut Membre -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. tirasmusyo Messages postés 50 Statut Membre
     
    magnifique,

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

    merci beaucoup
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Effectivement le Range("B1") = Resultat, je te l'ai laissé. C'est de l'adaptation...
      De rien.
      A+
      0