Fonction REGEXREPLACE Google SheetsGuide Complet 2026 avec Exemples Métier
REGEXREPLACE (REMPLACER.REGEX en français, mais rarement utilisé) permet de rechercher et remplacer du texte en utilisant des expressions régulières (regex). C'est l'outil le plus puissant de Google Sheets pour nettoyer, formater ou transformer des données textuelles complexes que les fonctions classiques comme SUBSTITUE ne peuvent pas gérer.
Dans ce guide, tu vas découvrir comment utiliser REGEXREPLACE pour automatiser le nettoyage de données, formater des références produits, anonymiser des informations sensibles et bien plus. Que tu travailles dans le marketing, les RH ou la gestion de données, cette fonction va te faire gagner des heures de travail manuel.
Syntaxe de la fonction REGEXREPLACE
=REGEXREPLACE(texte; expression_régulière; remplacement)REGEXREPLACE recherche toutes les occurrences d'un pattern (expression régulière) dans un texte et les remplace par une nouvelle valeur. Contrairement à SUBSTITUE qui recherche du texte exact, REGEXREPLACE utilise la puissance des regex pour des remplacements intelligents et complexes.
Comprendre chaque paramètre de la fonction REGEXREPLACE
texte
(obligatoire)Le texte dans lequel tu veux effectuer le remplacement. Ça peut être une référence de cellule comme A1, une chaîne de caractères entre guillemets comme "Bonjour 123", ou le résultat d'une autre formule comme CONCATENER(A1;" ";B1).
Si la cellule est vide, REGEXREPLACE retourne une chaîne vide. Si le texte ne contient aucune correspondance avec l'expression régulière, il est retourné tel quel sans modification.
expression_régulière
(obligatoire)Le pattern regex à rechercher dans le texte. Tous les morceaux de texte correspondant à ce pattern seront remplacés. Les expressions régulières permettent de décrire des patterns complexes : séquences de chiffres, formats d'email, espaces multiples, etc.
Exemples courants : "[0-9]+" pour un ou plusieurs chiffres, "\\s+" pour des espaces multiples, "[^a-zA-Z0-9]" pour tout caractère non alphanumérique. N'oublie pas que l'antislash \ doit être doublé : "\\".
remplacement
(obligatoire)Le texte qui remplacera chaque occurrence trouvée. Tu peux utiliser des références aux groupes de capture ($1, $2, $3, etc.) pour réutiliser des parties du texte trouvé. C'est particulièrement puissant pour réorganiser ou reformater des données.
Utilise "" (chaîne vide) comme remplacement pour simplement supprimer le pattern trouvé. Par exemple, REGEXREPLACE(A1; "[0-9]"; "") supprime tous les chiffres du texte.
Astuce : Pour tester tes expressions régulières avant de les utiliser dans Google Sheets, utilise des outils en ligne comme regex101.com. Tu pourras y voir en temps réel ce que ton pattern capture et corriger les erreurs de syntaxe.
Exemples pratiques pas à pas
Exemple 1 – Service Client : normaliser les numéros de téléphone
Tu es responsable du service client et tu reçois des numéros de téléphone dans différents formats depuis ton formulaire de contact. Pour les importer dans ton CRM, tu dois les uniformiser en supprimant tous les caractères non numériques (espaces, tirets, parenthèses, points).
Le pattern [^0-9+] signifie : tout caractère qui n'est PAS un chiffre ni le signe +.
| A | B | |
|---|---|---|
| 1 | Numéro saisi | Numéro normalisé |
| 2 | 01 23 45 67 89 | 0123456789 |
| 3 | 01-23-45-67-89 | 0123456789 |
| 4 | (01) 23.45.67.89 | 0123456789 |
| 5 | +33 1 23 45 67 89 | +33123456789 |
| 6 | TOTAL nettoyés | 4 lignes |
=REGEXREPLACE(A2; "[^0-9+]"; "")Cette formule garde uniquement les chiffres et le signe + (pour les numéros internationaux). Tu peux maintenant importer ces numéros proprement dans ton système sans erreur de format.
Exemple 2 – DPO / RGPD : anonymiser des adresses email dans un export
Tu es Data Protection Officer et tu dois préparer un export de données clients pour une analyse externe. Pour respecter le RGPD, tu dois masquer l'identité dans les emails en remplaçant tout ce qui précède le @ par "***", tout en gardant le domaine visible pour l'analyse.
Le pattern ^[^@]+ signifie : depuis le début (^), tous les caractères ([^@]) qui ne sont pas un @, répétés au moins une fois (+).
| A | B | |
|---|---|---|
| 1 | Email original | Email anonymisé |
| 2 | jean.dupont@example.com | ***@example.com |
| 3 | marie.martin@company.fr | ***@company.fr |
| 4 | support@startup.io | ***@startup.io |
| 5 | p.bernard@entreprise.net | ***@entreprise.net |
=REGEXREPLACE(A2; "^[^@]+"; "***")Décryptage du pattern "^[^@]+" :
^– Ancre de début de chaîne[^@]– Tout caractère SAUF le symbole @+– Répété une ou plusieurs fois
Exemple 3 – Gestionnaire de stock : formatter des références produit pour l'ERP
Tu es gestionnaire de stock et tes références produit arrivent brutes depuis un scanner sans tirets (ex: "PRD20240015"). Ton ERP exige le format "PRD-2024-0015". Utilise des groupes de capture pour réorganiser et ajouter les tirets automatiquement.
Les parenthèses créent des groupes capturés. $1, $2 et $3 les réutilisent avec des tirets entre eux.
| A | B | |
|---|---|---|
| 1 | Référence scannée | Référence ERP |
| 2 | PRD20240015 | PRD-2024-0015 |
| 3 | PRD20240156 | PRD-2024-0156 |
| 4 | PRD20250001 | PRD-2025-0001 |
| 5 | MAT20241234 | MAT-2024-1234 |
=REGEXREPLACE(A2; "([A-Z]+)(\\d{4})(\\d+)"; "$1-$2-$3")Décryptage du pattern et du remplacement :
([A-Z]+)– Groupe 1 : une ou plusieurs lettres majuscules (PRD, MAT, etc.)(\\d{4})– Groupe 2 : exactement 4 chiffres pour l'année (2024, 2025)(\\d+)– Groupe 3 : un ou plusieurs chiffres pour le numéro séquentiel"$1-$2-$3"– Réassemble les trois groupes avec des tirets
Exemple 4 – Analyste Marketing : convertir des dates FR en format ISO pour la base de données
Tu es analyste marketing et tu dois importer des dates de campagnes dans ton outil d'analyse. Tes dates sont au format français "JJ/MM/AAAA" mais ton outil exige le format ISO "AAAA-MM-JJ". REGEXREPLACE peut inverser l'ordre en une seule formule grâce aux groupes de capture.
Capture jour ($1), mois ($2) et année ($3), puis réassemble en ordre inverse : année-mois-jour.
| A | B | |
|---|---|---|
| 1 | Date campagne (FR) | Date ISO |
| 2 | 15/12/2024 | 2024-12-15 |
| 3 | 01/01/2025 | 2025-01-01 |
| 4 | 28/02/2024 | 2024-02-28 |
| 5 | 31/03/2025 | 2025-03-31 |
=REGEXREPLACE(A2; "(\\d{2})/(\\d{2})/(\\d{4})"; "$3-$2-$1")Cette technique fonctionne aussi pour d'autres formats : tu peux transformer "15-12-2024" en "2024/12/15" ou tout autre format en adaptant le pattern de remplacement.
Astuces de pro pour REGEXREPLACE
Nettoyer les espaces multiples en un seul
Utilise REGEXREPLACE(A1; "\\s+"; " ") pour remplacer toute séquence d'espaces (y compris tabulations et sauts de ligne) par un seul espace. Parfait après un import de données mal formatées.
Supprimer les espaces en début et fin de texte (trim)
Utilise REGEXREPLACE(A1; "^\\s+|\\s+$"; "") pour supprimer les espaces au début (^\\s+) OU (|) à la fin (\\s+$). Plus puissant que la fonction TRIM car ça fonctionne aussi avec les tabulations.
Remplacer plusieurs caractères différents par le même
Utilise REGEXREPLACE(A1; "[.,;]"; "-") pour remplacer les points, virgules et points-virgules par des tirets. Les crochets [] définissent un ensemble de caractères possibles.
Utiliser des groupes non capturants pour améliorer les performances
Si tu n'as pas besoin de capturer un groupe, utilise (?:...) au lieu de (...). C'est plus rapide sur de gros volumes de données et évite de gaspiller les numéros de groupes $1, $2, etc.
Combiner plusieurs REGEXREPLACE pour des transformations complexes
Tu peux imbriquer plusieurs REGEXREPLACE : REGEXREPLACE(REGEXREPLACE(A1; "\\s+"; " "); "^\\s+|\\s+$"; "") nettoie d'abord les espaces multiples, puis les espaces de début/fin. C'est plus lisible que de faire un seul pattern complexe.
Les erreurs fréquentes et comment les corriger
Erreur "Invalid regular expression"
Ta regex contient une erreur de syntaxe : parenthèse non fermée, caractère spécial mal échappé, classe de caractères invalide, ou quantificateur mal placé. Google Sheets refuse d'exécuter la formule.
Solution : Vérifie que tous les caractères spéciaux sont bien échappés avec un double antislash. Par exemple, pour rechercher un point littéral, utilise "\\." et non "." (qui signifie "n'importe quel caractère"). Vérifie aussi que toutes les parenthèses sont fermées.
Le texte ne change pas (aucune correspondance)
Ta regex ne trouve aucune correspondance dans le texte, souvent à cause d'une casse incorrecte (majuscules vs minuscules) ou d'un pattern trop spécifique qui ne colle pas aux données réelles.
Solution : Ajoute le flag "(?i)" au début du pattern pour ignorer la casse : REGEXREPLACE(A1; "(?i)bonjour"; "Salut") remplacera "Bonjour", "BONJOUR", "bonjour", etc. Ou teste ton pattern sur regex101.com pour voir ce qu'il capture réellement.
Problème avec les antislash \ (backslash)
L'antislash est un caractère d'échappement en regex. Pour l'utiliser littéralement (par exemple dans un chemin Windows), ou pour échapper un caractère spécial, il faut le doubler dans Google Sheets.
Solution : Utilise toujours "\\\\" pour représenter un antislash littéral. Exemple : pour remplacer les antislash d'un chemin Windows par des slashes : REGEXREPLACE(A1; "\\\\"; "/"). Pour un caractère spécial comme un point : "\\.".
Les groupes de capture ne fonctionnent pas
Tu utilises $1, $2, etc. dans ton remplacement mais le résultat affiche littéralement "$1" au lieu de la valeur capturée. C'est souvent parce que les parenthèses manquent dans l'expression régulière.
Solution : Assure-toi que ton pattern contient bien des parenthèses (...) autour des parties à capturer. Exemple : REGEXREPLACE("Jean Dupont"; "(\\w+) (\\w+)"; "$2, $1") fonctionne car les deux groupes de mots sont entre parenthèses.
REGEXREPLACE vs SUBSTITUE vs RECHERCHER/REMPLACER
| Critère | REGEXREPLACE | SUBSTITUE | Menu Édition |
|---|---|---|---|
| Patterns complexes | ✅ Oui (regex) | ❌ Texte exact uniquement | ⚠️ Basique |
| Groupes de capture | ✅ Oui ($1, $2...) | ❌ Non | ❌ Non |
| Formule réutilisable | ✅ Oui | ✅ Oui | ❌ Manuel |
| Facilité d'utilisation | ⭐⭐ Intermédiaire | ⭐⭐⭐ Simple | ⭐⭐⭐ Simple |
| Puissance | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐ |
| Cas d'usage idéal | Nettoyage complexe, formats | Remplacement simple | Correction ponctuelle |
Utilise REGEXREPLACE quand tu as besoin de patterns complexes, de groupes de capture ou de remplacements conditionnels. Pour un remplacement simple de texte exact, SUBSTITUE est plus rapide et plus facile. Le menu Rechercher/Remplacer est utile pour des corrections ponctuelles non automatisées.
Questions fréquentes
REGEXREPLACE fonctionne-t-elle dans Excel ?
Non, REGEXREPLACE est spécifique à Google Sheets. Excel ne possède pas de fonction native pour les expressions régulières, mais tu peux utiliser VBA ou des formules complexes avec SUBSTITUE pour certains cas simples. Si tu travailles sur Excel et que tu as besoin de regex, envisage Power Query ou des macros VBA.
Comment remplacer uniquement la première occurrence ?
REGEXREPLACE remplace toutes les occurrences par défaut. Pour ne remplacer que la première, utilise un pattern plus spécifique avec des anchors (^ pour le début, $ pour la fin) ou combine avec REGEXEXTRACT. Tu peux aussi utiliser un lookbehind négatif pour éviter les correspondances suivantes.
Quels sont les caractères spéciaux à échapper dans une regex ?
Les caractères spéciaux . * + ? ^ $ { } [ ] ( ) | \ doivent être échappés avec un antislash \ si tu veux les rechercher littéralement. Par exemple, pour rechercher un point : REGEXREPLACE(A1; "\."; ","). N'oublie pas de doubler l'antislash dans Google Sheets.
Comment utiliser des groupes de capture dans le remplacement ?
Utilise $1, $2, etc. pour référencer les groupes capturés entre parenthèses. Exemple : REGEXREPLACE("Jean Dupont"; "(\w+) (\w+)"; "$2, $1") retourne "Dupont, Jean" en inversant prénom et nom. Les groupes de capture sont numérotés de gauche à droite selon l'ordre des parenthèses ouvrantes.
REGEXREPLACE est-elle sensible à la casse ?
Oui, par défaut REGEXREPLACE est sensible à la casse. Pour ignorer la casse, utilise le flag (?i) au début du pattern : REGEXREPLACE(A1; "(?i)bonjour"; "Salut") remplacera "Bonjour", "BONJOUR", "bonjour", etc. Tu peux aussi utiliser (?-i) pour réactiver la sensibilité à la casse en cours de pattern.
Les fonctions similaires à REGEXREPLACE
Deviens un pro de Google Sheets et Excel
Tu maîtrises maintenant REGEXREPLACE ! Rejoins Le Dojo Club pour découvrir toutes les fonctions avancées de Google Sheets et Excel, avec des formations complètes et une communauté d'entraide.
Essayer pendant 30 jours