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)
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).