Expression rationnelle macro VBA
Bonjour,
Je souhaite remplacer une chaine de caractères par une nouvelle chaine modifié, en utilisant les expressions rationnelles de VBA.
Voici un exemple de chaine d'origine:
1, 4, 6-7, 9-10, 13-17, 19, 23, 25
A la fin je souhaite obtenir:
1;4;[6-7];[9-10];[13-17];19;23;25
En gros la virgule + espace est remplacé par un point virgule.
Lorsqu'il y a un intervalle de chiffre, il doit être entouré par des [].
J'ai commencé à faire une ébauche:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Public Sub RegexChaine()
Dim RegEx As RegExp
Set RegEx = New RegExp
With RegEx
.IgnoreCase = True
.Global = False
.Pattern = "(.*)(, )(.*)"
End With
chaine$ = "1, 4, 6-7, 9-10, 13-17, 19, 23, 25"
chaine$ = RegEx.Replace(chaine$, "$1")
MsgBox (chaine$)
End Sub |
Mais je bloque, je n'arrive pas à comprendre le fonctionnement avec le $1
Merci de m'aider.