Fonction REGEXEXTRACT Google SheetsGuide Complet 2026 avec Exemples Métiers
REGEXEXTRACT (extraction par expression régulière) est une fonction puissante de Google Sheets qui te permet d'extraire automatiquement des informations structurées enfouies dans du texte. Que tu cherches à isoler des emails, des numéros de téléphone, des codes postaux, des références de factures ou n'importe quel motif de texte, cette fonction fait le travail en une seconde.
Dans ce guide, tu vas découvrir comment utiliser les expressions régulières (regex) pour transformer des données textuelles en informations exploitables. Plus besoin de copier-coller manuellement ou de faire du découpage cellule par cellule !
Syntaxe de la fonction REGEXEXTRACT
=REGEXEXTRACT(texte; expression_régulière)La fonction REGEXEXTRACT analyse le texte fourni et retourne la première portion qui correspond au motif (expression régulière) spécifié. Si aucune correspondance n'est trouvée, elle retourne l'erreur #N/A.
Comprendre chaque paramètre de la fonction REGEXEXTRACT
texte
(obligatoire)C'est la chaîne de caractères dans laquelle tu veux chercher et extraire une information. Ça peut être une référence de cellule comme A2, une chaîne directe entre guillemets comme "Contact: marie@gmail.com", ou même le résultat d'une autre fonction comme CONCATENER(A2;" ";B2).
Si le texte est vide ou contient uniquement des espaces, REGEXEXTRACT retournera #N/A car il n'y a rien à analyser.
expression_régulière
(obligatoire)C'est le motif (pattern) que tu cherches dans le texte. Une expression régulière décrit un format : par exemple, [0-9]{5} signifie "exactement 5 chiffres consécutifs" (parfait pour un code postal français).
Tu peux utiliser des motifs simples comme \d+ (un ou plusieurs chiffres) ou complexes comme [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} (une adresse email). Les parenthèses créent des groupes de capture pour extraire des portions spécifiques.
Important : REGEXEXTRACT retourne uniquement la première correspondance trouvée, même si ton texte en contient plusieurs.
Astuce : Tu n'es pas obligé de maîtriser toutes les regex ! Commence avec des motifs simples et copie-colle des patterns courants (tu en trouveras dans ce guide). Au fil du temps, tu comprendras naturellement la logique. Des outils en ligne comme regex101.com te permettent de tester tes motifs avant de les utiliser.
Exemples pratiques métier pas à pas
Exemple 1 – Service client : extraire les emails des messages
Tu travailles au service client et tu reçois des centaines de messages contenant les coordonnées des clients. Tu veux automatiquement extraire toutes les adresses email pour enrichir ta base de contacts CRM, sans avoir à les copier-coller manuellement.
La formule identifie et extrait automatiquement l'email, quel que soit sa position dans le message.
| A | B | |
|---|---|---|
| 1 | Message client | Email extrait |
| 2 | Bonjour, vous pouvez me recontacter à marie.dupont@gmail.com | marie.dupont@gmail.com |
| 3 | Contact urgent: jean.martin@entreprise.fr ou par téléphone | jean.martin@entreprise.fr |
| 4 | Ref 12345 - support@ledojo.club - merci | support@ledojo.club |
| 5 | Cordialement, sophie.bernard@outlook.com | sophie.bernard@outlook.com |
=REGEXEXTRACT(A2;"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}")Ce motif regex fonctionne pour la plupart des formats d'emails standards. Tu peux ensuite tirer la formule vers le bas pour traiter des centaines de messages en quelques secondes.
Exemple 2 – Commercial : isoler les numéros de téléphone des fiches prospects
Tu es commercial(e) et tu as récupéré une liste de prospects avec leurs coordonnées mélangées dans une seule cellule. Tu veux extraire uniquement les numéros de téléphone pour pouvoir appeler tes prospects ou les importer dans ton système de téléphonie.
La regex s'adapte aux différents formats de numéros français (avec espaces, points ou tirets).
| A | B | |
|---|---|---|
| 1 | Fiche prospect | Téléphone |
| 2 | Jean Durand - Paris - Tel: 06 12 34 56 78 | 06 12 34 56 78 |
| 3 | Marie L. - Lyon - 07.89.65.43.21 - Responsable achats | 07.89.65.43.21 |
| 4 | Contact: Pierre M. 0145678901 région IDF | 0145678901 |
| 5 | Sophie Bernard tel 06-78-90-12-34 disponible | 06-78-90-12-34 |
=REGEXEXTRACT(A2;"0[0-9][\\s.-]?[0-9]{2}[\\s.-]?[0-9]{2}[\\s.-]?[0-9]{2}[\\s.-]?[0-9]{2}")Cette formule gère les variations de format courantes. Si tu as des numéros internationaux, tu devras adapter le motif en conséquence.
Exemple 3 – Comptabilité : extraire les montants des descriptions de transactions
Tu travailles en comptabilité et tu reçois des exports bancaires où les montants sont noyés dans du texte descriptif. Tu veux isoler automatiquement les montants en euros pour pouvoir faire des calculs et des rapprochements bancaires.
Extrait les montants au format français (avec virgule et 2 décimales) de n'importe quelle description.
| A | B | |
|---|---|---|
| 1 | Description transaction | Montant |
| 2 | Virement FAC-2024-001 montant: 1 250,50€ effectué | 1 250,50 |
| 3 | Règlement client de 3 450,00€ reçu le 15/03 | 3 450,00 |
| 4 | CB Paiement fournisseur: 875,99€ validé | 875,99 |
| 5 | Chèque n°12345 - 2 100,00€ encaissé | 2 100,00 |
=REGEXEXTRACT(A2;"[0-9 ]+,[0-9]{2}")Tu peux ensuite utiliser CNUM() et SUBSTITUTE() pour convertir ces textes en vrais nombres et faire des calculs. Combine avec SIERREUR() pour gérer les lignes sans montant.
Exemple 4 – Gestion administrative : extraire les références de factures
Tu gères l'administration d'une entreprise et tu dois classer des centaines de factures. Chaque facture a un numéro unique au format FAC-ANNÉE-NUMÉRO intégré dans des notes diverses. Tu veux extraire automatiquement ces références pour créer un tableau de suivi.
La regex cible précisément le format de tes références de factures, même au milieu d'un long texte.
| A | B | |
|---|---|---|
| 1 | Note / Email | N° facture |
| 2 | Voir facture FAC-2024-1523 pour les détails du projet | FAC-2024-1523 |
| 3 | Paiement de FAC-2024-1524 en attente validation | FAC-2024-1524 |
| 4 | URGENT: FAC-2024-1525 à traiter avant fin de mois | FAC-2024-1525 |
| 5 | Re: FAC-2024-1526 - montant modifié | FAC-2024-1526 |
=REGEXEXTRACT(A2;"FAC-[0-9]{4}-[0-9]+")Cette approche fonctionne pour n'importe quel format de référence : commandes (CMD-xxx), devis (DEV-xxx), etc. Adapte simplement le motif à ton système de numérotation.
Astuces de pro pour REGEXEXTRACT
Combine avec SIERREUR pour gérer les #N/A
Utilise =SIERREUR(REGEXEXTRACT(A2;"motif");"Non trouvé") pour afficher un message propre quand aucune correspondance n'existe. Ça évite les erreurs disgracieuses dans ton tableau.
Utilise (?i) pour ignorer la casse
Ajoute (?i) au début de ton motif pour rendre la recherche insensible à la casse : =REGEXEXTRACT(A2;"(?i)urgent") trouvera "URGENT", "Urgent" et "urgent".
Teste tes regex sur regex101.com avant de les utiliser
Plutôt que de faire des dizaines d'essais dans Google Sheets, utilise des outils en ligne pour tester et comprendre tes expressions régulières. Tu gagnes un temps fou et tu apprends plus vite.
Crée une bibliothèque de motifs réutilisables
Dans un onglet séparé, garde une liste de tes regex les plus utiles (emails, téléphones, codes postaux, etc.) avec des exemples. Tu pourras les copier-coller rapidement au lieu de les réécrire à chaque fois.
Utilise les parenthèses pour extraire une portion précise
Les parenthèses créent des groupes de capture. Si tu utilises =REGEXEXTRACT(A2;"Email: ([^ ]+)"), seule la partie entre parenthèses sera retournée, pas le mot "Email:". C'est très pratique pour nettoyer tes extractions.
Les erreurs fréquentes et comment les corriger
Oublier d'échapper les caractères spéciaux
Les caractères spéciaux en regex (point, plus, astérisque, parenthèses, crochets, etc.) ont une signification particulière. Si tu veux rechercher un point littéral dans un nombre comme "12.50", tu dois l'échapper avec un backslash : \.
Solution : Pour chercher "prix: 12.50€", utilise =REGEXEXTRACT(A2;"[0-9]+\.[0-9]2") et non =REGEXEXTRACT(A2;"[0-9]+.[0-9]2") (le point sans backslash signifie "n'importe quel caractère").
Erreur #N/A non gérée
Si REGEXEXTRACT ne trouve aucune correspondance, elle retourne #N/A, ce qui peut casser tes autres formules et rendre ton tableau illisible. C'est particulièrement problématique quand certaines lignes n'ont légitimement pas de données à extraire.
Solution : Enveloppe toujours REGEXEXTRACT dans SIERREUR : =SIERREUR(REGEXEXTRACT(A2;"motif");"") pour afficher une cellule vide, ou =SIERREUR(REGEXEXTRACT(A2;"motif");"Non trouvé") pour un message explicite.
Croire que REGEXEXTRACT retourne toutes les correspondances
Beaucoup pensent que si leur texte contient 3 emails, REGEXEXTRACT retournera les 3. En réalité, seule la première correspondance est retournée. Les autres sont ignorées.
Solution : Si tu as besoin de toutes les correspondances, tu dois utiliser des techniques avancées avec SPLIT et REGEXREPLACE, ou appliquer REGEXEXTRACT sur des portions successives du texte. Pour la plupart des usages métier, une seule correspondance suffit.
Utiliser REGEXEXTRACT dans Excel
REGEXEXTRACT est exclusive à Google Sheets. Si tu l'utilises dans Excel, tu obtiendras une erreur #NOM? car Excel ne reconnaît pas cette fonction.
Solution : Dans Excel, utilise des combinaisons de CHERCHE, TROUVE, STXT et NBCAR pour extraire du texte. Pour des besoins avancés, passe par Power Query ou crée des fonctions VBA personnalisées. Ou mieux : utilise Google Sheets pour ce type de tâche !
Regex trop gourmande ou trop permissive
Si ton motif est trop large (par exemple .* qui signifie "n'importe quoi"), tu risques de capturer bien plus que ce que tu veux. Si ton motif est trop strict, tu ne trouveras rien alors que les données existent.
Solution : Teste ton motif sur plusieurs exemples réels avant de l'appliquer à toute ta base. Commence par un motif simple et affine-le progressivement. Les outils en ligne comme regex101.com te montrent exactement ce qui est capturé.
REGEXEXTRACT vs CHERCHE vs TROUVE vs STXT
| Critère | REGEXEXTRACT | CHERCHE | TROUVE | STXT |
|---|---|---|---|---|
| Disponibilité | Google Sheets | Excel & Sheets | Excel & Sheets | Excel & Sheets |
| Motifs complexes | ✅ Oui (regex) | ❌ Non (texte simple) | ❌ Non (texte simple) | ❌ Non |
| Extraction directe | ✅ Oui | ❌ Retourne position | ❌ Retourne position | ✅ Oui (avec position) |
| Sensible à la casse | ✅ Oui (sauf (?i)) | ❌ Non | ✅ Oui | N/A |
| Courbe d'apprentissage | ⭐⭐⭐ (regex complexes) | ⭐ (facile) | ⭐ (facile) | ⭐⭐ (moyen) |
| Puissance | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
Utilise REGEXEXTRACT pour des extractions complexes basées sur des motifs dans Google Sheets. Si tu es sur Excel, combine CHERCHE/TROUVE avec STXT pour obtenir des résultats similaires (mais c'est plus verbeux). Pour des recherches simples, CHERCHE ou TROUVE suffisent.
Bibliothèque de motifs regex courants
Voici une collection de motifs prêts à l'emploi que tu peux copier-coller directement dans tes formules. Garde cette liste à portée de main !
Adresse email
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}Capture la plupart des formats d'emails standards
Téléphone français
0[0-9][\\s.-]?[0-9]2[\\s.-]?[0-9]2[\\s.-]?[0-9]2[\\s.-]?[0-9]2Fonctionne avec espaces, points ou tirets
Code postal français
[0-9]5Exactement 5 chiffres consécutifs
Date JJ/MM/AAAA
[0-9]2/[0-9]2/[0-9]4Format français classique avec slashes
Montant en euros
[0-9 ]+,[0-9]2€?Format français avec virgule, symbole € optionnel
URL complète
https?://[^\\s]+HTTP ou HTTPS, jusqu'au premier espace
Code hexadécimal couleur
#[0-9A-Fa-f]6Format #RRGGBB pour les couleurs web
Numéro de facture
FAC-[0-9]4-[0-9]+Format FAC-ANNÉE-NUMÉRO (adapte selon ton format)
Numéro de SIRET
[0-9]3\\s?[0-9]3\\s?[0-9]3\\s?[0-9]514 chiffres avec ou sans espaces
Adresse IP v4
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}Format xxx.xxx.xxx.xxx (validation basique)
Heure HH:MM
[0-2][0-9]:[0-5][0-9]Format 24h avec minutes
Premier mot
^\\w+Le premier mot au début du texte (^ = début)
Questions fréquentes
REGEXEXTRACT fonctionne-t-elle dans Excel ?
Non, REGEXEXTRACT est exclusive à Google Sheets. Dans Excel, tu dois utiliser VBA, Power Query, ou des combinaisons de fonctions comme CHERCHE, TROUVE et STXT. Si tu travailles régulièrement avec Excel, privilégie ces alternatives natives.
Comment extraire plusieurs correspondances avec REGEXEXTRACT ?
REGEXEXTRACT ne retourne que la première correspondance trouvée. Pour extraire toutes les occurrences, tu dois combiner REGEXREPLACE avec SPLIT, ou utiliser des formules matricielles. Une alternative est d'appliquer REGEXEXTRACT plusieurs fois sur des portions successives de ton texte.
Que se passe-t-il si aucune correspondance n'est trouvée ?
Si l'expression régulière ne trouve rien, REGEXEXTRACT retourne l'erreur #N/A. Utilise SIERREUR() pour gérer cette situation : =SIERREUR(REGEXEXTRACT(A1;"motif");"Aucun résultat"). Ça rend ton tableau plus propre et évite les erreurs en cascade.
Dois-je connaître toutes les regex pour utiliser REGEXEXTRACT ?
Non ! Commence avec des motifs simples comme [0-9]{5} pour un code postal ou \d+ pour des chiffres. Tu peux copier des motifs courants (emails, téléphones) et les adapter. Avec le temps, tu comprendras naturellement la syntaxe. Des outils comme regex101.com t'aident à tester tes motifs.
REGEXEXTRACT est-elle sensible à la casse ?
Oui, par défaut REGEXEXTRACT distingue majuscules et minuscules. Pour ignorer la casse, utilise (?i) au début de ton motif : =REGEXEXTRACT(A1;"(?i)email") trouvera "Email", "EMAIL" et "email". C'est très pratique pour des recherches flexibles.
Les fonctions similaires à REGEXEXTRACT
Deviens un pro d'Excel et Google Sheets
Tu maîtrises maintenant REGEXEXTRACT ! Rejoins Le Dojo Club pour découvrir toutes les fonctions avancées et automatiser ton travail quotidien.
Essayer pendant 30 jours