XL 2019 macro fonction

Guismo33

XLDnaute Occasionnel
Bonjour à tous,
j'ai une macro fonction qui s'appel "MUSIQUE" en terme du turf et dans cette musique il rajoute ce si: "[ ]" et je voudrais les enlever
voici ma macro :

Function Musique(Valeur As String) As String
Dim regEx As Object
Application.Volatile
Set regEx = CreateObject("VBScript.RegExp")
With regEx
.IgnoreCase = False
.Global = True
.Pattern = " "
Valeur = .Replace(Valeur, "")
.Pattern = "\([0-9][0-9]\)"
Valeur = .Replace(Valeur, "")
.Pattern = "[a-z]"
Valeur = .Replace(Valeur, " ")
.Pattern = "[1-2][0-9]"
Valeur = .Replace(Valeur, "0")
.Pattern = "[ADT]"
Valeur = .Replace(Valeur, "0")
.Pattern = "[()]"
Valeur = .Replace(Valeur, "0")
.Pattern = "[Ié]"
Valeur = .Replace(Valeur, "0")
.Pattern = " "
Valeur = .Replace(Valeur, "")


End With
Musique = Valeur
Set regEx = Nothing
End Function

et voici mon exemple :
 

Fichiers joints

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, Guismo33

Guismo33
Avec un RegExp, on peut faire plus court ;)
VB:
Function MUSIQUE2(R As Range) As String
Dim sX$
With CreateObject("vbscript.regexp"): .Global = True: .Pattern = "[^\d]+": sX = .Replace(R.Text, vbNullString): End With
MUSIQUE2 = sX
End Function
 

Staple1600

XLDnaute Barbatruc
Re

Et une version sans RegExp (donc qui fonctionnera normalement sur un Mac ;))
VB:
Function MUSIQUE3(R$)
Dim i%
For i = 1 To Len(R)
If IsNumeric(Mid(R, i, 1)) Then vNum = vNum & Mid(R, i, 1)
Next i
MUSIQUE3 = vNum
End Function
 
Dernière édition:

Guismo33

XLDnaute Occasionnel
Bonsoir le fil, Guismo33

Guismo33
Avec un RegExp, on peut faire plus court ;)
VB:
Function MUSIQUE2(R As Range) As String
Dim sX$
With CreateObject("vbscript.regexp"): .Global = True: .Pattern = "[^\d]+": sX = .Replace(R.Text, vbNullString): End With
MUSIQUE2 = sX
End Function
Bonjour,

merci pour cette nouvelle macro, bonne journée.


bien à vous
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas