Fonction VBA : regexReplace

La fonction VBA regexReplace remplace une ou plusieurs parties d'une chaîne de caractères en utilisant des expressions régulières.

Utilisation :

regexReplace(texte, expression_régulière, remplacement)

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.

Exemple de remplacement

La fonction regexReplace remplace ici les noms et prénoms par XXX :

Sub exemple()
    
    texte = "Il s'appelle Jean-Louis Sanhnon et sa femme Lucie Sanhnon."
    
    'Remplacement des noms/prénoms par XXX
    MsgBox regexReplace(texte, "(.)[A-Z][\w-]+", "$1XXX")
    
End Sub
excel vba regex replace noms prenoms regexreplace

Exemple de suppression

En remplaçant par "", la fonction regexReplace permet de supprimer certaines parties indésirables (dans le but ici de récupérer le numéro de téléphone seul) :

Sub exemple()
    
    texte = "Numéro (Jean M.) : 01/23.45.67.89 ..."
    
    'Numéro de téléphone seul
    MsgBox regexReplace(texte, "\D", "")
    
End Sub
excel numero regexreplace

Plus d'exemples

D'autres exemples d'expressions régulières sont disponibles sur la page de la fonction REGEXREPLACE de Google Sheets (ces regex sont utilisables avec regexReplace).

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