XL 2019 formule VBA

Guismo33

XLDnaute Occasionnel
bonjour a tous,

je voudrais ameliorer ma VBA, car petit probleme.je récupéré la musique de chevaux et je ne voudrais pas qu'il epure se q'il y a entre parenthèse exemple

3aDa2a(19)

Function Musique(R As Range) As String
Dim sX$
With CreateObject("vbscript.regexp"): .Global = True: .Pattern = "[^\d]+": sX = .Replace(R.Text, vbNullString): End With
Musique = sX
End Function
avec cette formule il epure comme cela : 3219 il prend ce qui et entre parenthèse

je voudrais se resultat 32 qu'il n'epure pas se qui et entre parenthèse

merci à vous
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjous Guismo,
Une solution est de couper la chaîne à partir de "("
VB:
Function Musique(R As Range) As String
    Dim sX$
    R = Mid(R, 1, InStr(R, "("))
    With CreateObject("vbscript.regexp"): .Global = True: .Pattern = "[^\d]+": sX = .Replace(R.Text, vbNullString): End With
    Musique = sX
End Function
Mais cela suppose qu'il n'y a jamais rien d’intéressant après la première parenthèse.
 

Discussions similaires

Réponses
17
Affichages
1 K
Réponses
2
Affichages
441

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 389
Messages
2 087 933
Membres
103 678
dernier inscrit
bibitm