Extraire de nombres dans une chaîne de caractères
cy2
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai besoin d'aide dans cellule j'ai des caractères comme ceux là "REFL105072050MV" je veut pouvoir extraire 105072050 sans utiliser la fonction SPLIT parce que j'ai aussi des caractères comme ceux là aussi "JTSOUD4 ALVEOL106763718MV".
La fonction SPLIT m'écrit 4 et 106763718 dans deux cellule différente ce qui ne me convient pas du tout je voudrais qu'ils soient dans la même cellule.
J'ai besoin d'aide dans cellule j'ai des caractères comme ceux là "REFL105072050MV" je veut pouvoir extraire 105072050 sans utiliser la fonction SPLIT parce que j'ai aussi des caractères comme ceux là aussi "JTSOUD4 ALVEOL106763718MV".
La fonction SPLIT m'écrit 4 et 106763718 dans deux cellule différente ce qui ne me convient pas du tout je voudrais qu'ils soient dans la même cellule.
Configuration: Windows / Chrome 74.0.3729.108
A voir également:
- Extraire de nombres dans une chaîne de caractères
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Ascii nombre de caractères - Guide
- Caractères spéciaux - Guide
- Plus de chaine tv - Guide
2 réponses
Bonjour,
voir ceci:
https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-P
en modifiant cela donne cela:
voilà
voir ceci:
https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-P
en modifiant cela donne cela:
Sub extraireValeursNumeriques_DansChaine()
Dim i As Byte, Nb As Byte
Dim Cible As String, Resultat As String
Dim Nombre As Double
Cible = Range("A1").Value
'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
Range("B1").Value = Resultat
' MsgBox "Il y a " & Nb & " valeurs numériques dans la cellule " & vbLf & Resultat
End Sub
voilà
Merci mais mon soucis c'est pas pour VBA mais juste pour excel; écrire une formule dans une cellule et la copier pour les autres.