Comment utiliser les expressions régulières (Regex) dans Microsoft Excel, à la fois dans les cellules et dans les boucles
Comment utiliser les expressions régulières (Regex) dans Microsoft Excel, à la fois dans les cellules et dans les boucles
Comment puis-je utiliser les expressions régulières dans Excel, à la fois dans les formules de cellules et dans le code VBA ?
Re: Comment utiliser les expressions régulières (Regex) dans Microsoft Excel, à la fois dans les cellules et dans les boucles
Excel ne prend pas en charge les regex nativement dans les formules. Vous avez deux options :
**Option 1 : UDF VBA**
Créez une fonction personnalisée :
```vba
Function RegexMatch(text As String, pattern As String) As String
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = pattern
regex.Global = True
If regex.Test(text) Then
RegexMatch = regex.Execute(text)(0).Value
End If
End Function
```
**Option 2 : Dans une boucle VBA**
```vba
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "\d+"
For Each cell In Range("A1:A100")
If regex.Test(cell.Value) Then
' traitement
End If
Next
```
**Option 1 : UDF VBA**
Créez une fonction personnalisée :
```vba
Function RegexMatch(text As String, pattern As String) As String
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = pattern
regex.Global = True
If regex.Test(text) Then
RegexMatch = regex.Execute(text)(0).Value
End If
End Function
```
**Option 2 : Dans une boucle VBA**
```vba
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "\d+"
For Each cell In Range("A1:A100")
If regex.Test(cell.Value) Then
' traitement
End If
Next
```