Fonction VBA : regexMatch

La fonction VBA regexMatch teste si une chaîne de caractères correspond à une expression régulière et renvoie True ou False en fonction du résultat.

Utilisation :

regexMatch(texte, expression_régulière)

Si vous ne savez pas ce qu'est une expression régulière ou si vous ne savez pas comment en écrire une, commencez par bien lire le tutoriel de la fonction REGEXMATCH de Google Sheets avant de poursuivre (vous pouvez utiliser les mêmes regex avec regexMatch).

Exemples d'utilisation

La fonction regexMatch renvoie True si le texte contient une ou plusieurs lettres en majuscules :

Sub exemple()
    
    texte = "les regex c'est Amusant"
    
    'Test des majuscules
    If regexMatch(texte, "[A-Z]+") Then
        MsgBox "Le texte contient une ou plusieurs majuscules !"
    End If
    
End Sub

Dans cet autre exemple, la fonction regexMatch vérifie si le texte est une URL du site Excel-Pratique.com ou Sheets-Pratique.com (avec ou sans "www.") :

Sub exemple()
    
    regex = "^https://(www\.)?(excel|sheets)-pratique\.com"
    
    MsgBox regexMatch("https://www.excel-pratique.com", regex) 'Renvoie TRUE
    MsgBox regexMatch("https://sheets-pratique.com", regex) 'Renvoie TRUE
    MsgBox regexMatch("https://www.google.com", regex) 'Renvoie FALSE
    MsgBox regexMatch("https://www.sheets-pratique.com", regex) 'Renvoie TRUE
    MsgBox regexMatch("https://www.blog-excel.com", regex) 'Renvoie FALSE
    
End Sub

Plus d'exemples

Une dizaine d'autres exemples d'expressions régulières sont disponibles sur la page de la fonction REGEXMATCH de Google Sheets (ces regex sont utilisables avec regexMatch).

Remarque : cette fonction nécessite l'installation du pack de fonctions XLP (un add-in gratuit pour Excel qui ajoute 92 nouvelles fonctions).