Macro, copier que les chiffres

Résolu
tirasmusyo Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 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.

A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 762
 
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
tirasmusyo Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
 
magnifique,

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


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