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 lire le tutoriel complet de la fonction Excel REGEX.TEST 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 Excel REGEX.REMPLACER.

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