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 ?

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 :

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

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