REGEXMATCH (disponible uniquement dans Google Sheets) est une fonction puissante qui vérifie si un texte correspond à un motif défini par une expression régulière (regex). Elle retourne VRAI si le texte contient le pattern recherché, FAUX dans le cas contraire.
C'est l'outil parfait pour valider des formats complexes comme les emails, numéros de téléphone, codes produits ou identifiants clients. Fini la validation manuelle ligne par ligne : REGEXMATCH automatise le contrôle sur des milliers de lignes en une seule formule.
Syntaxe de la fonction REGEXMATCH
=REGEXMATCH(texte; expression_régulière)Comprendre chaque paramètre de la fonction REGEXMATCH
REGEXMATCH prend deux arguments, et l'ordre compte : d'abord le texte à examiner, ensuite le motif regex qui dit ce qu'on y cherche. Les deux sont obligatoires, donc aucun raccourci à deux arguments seulement. Le piège classique, c'est d'inverser les deux et de chercher ton texte comme s'il était un pattern.
texte
: le texte que tu veux analyserÇa peut être une référence de cellule comme A2, une chaîne de caractères directe entre guillemets comme "test@email.com", ou le résultat d'une autre fonction qui retourne du texte.
Si la cellule est vide, REGEXMATCH retourne FAUX.
expression_régulière
: le pattern regex à rechercher dans le texteC'est une chaîne de caractères qui suit la syntaxe des expressions régulières RE2. Par exemple, "^[0-9]+$" vérifie que le texte contient uniquement des chiffres du début à la fin.
Caractères spéciaux courants : ^ (début de ligne), $ (fin de ligne), . (n'importe quel caractère), * (0 ou plus), + (1 ou plus), [a-z] (plage de caractères), \d (chiffre), \s (espace), | (OU logique).
Astuce : Commence simple : teste d'abord ton pattern sur un seul exemple avec =REGEXMATCH("texte test"; "pattern"). Une fois que ça fonctionne, remplace le texte en dur par une référence de cellule. Les regex peuvent sembler complexes au début, mais elles deviennent vite indispensables.
Exemples pratiques pas à pas
Marketing : valider des adresses email avant envoi de campagne
Tu es responsable marketing et tu prépares une campagne emailing à 10 000 contacts. Avant d'envoyer, tu veux identifier les emails mal formatés pour éviter les rebonds et protéger ta délivrabilité.
Le pattern vérifie trois zones : des caractères autorisés avant le @, puis un domaine valide, puis une extension d'au moins 2 caractères après le point. contact@ et admin.sans.domaine sont rejetés immédiatement. Cette validation détecte environ 95 % des emails mal formés, sans avoir à ouvrir chaque ligne.
| A | B | |
|---|---|---|
| 1 | Email client | Format valide ? |
| 2 | jean.dupont@entreprise.fr | VRAI |
| 3 | marie.martin@startup.io | VRAI |
| 4 | contact@ | FAUX |
| 5 | admin.sans.domaine | FAUX |
| 6 | sophie_pro@ledojo.club | VRAI |
=REGEXMATCH(A2;"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")Logistique : contrôler des codes produit selon nomenclature interne
Ton entreprise utilise des codes produits normalisés : 3 lettres majuscules (catégorie), tiret, 4 chiffres (année), tiret, 3 chiffres (numéro séquentiel). Par exemple : PRD-2024-001. Tu dois vérifier que tous les nouveaux codes respectent ce format avant de les intégrer à l'ERP.
Le pattern ^[A-Z]{3}-[0-9]{4}-[0-9]{3}$ force exactement 3 lettres majuscules, puis tiret, 4 chiffres, tiret, 3 chiffres. PRD2024156 échoue car les tirets manquent, PR-2024-001 parce qu'il n'a que 2 lettres. Tu identifies instantanément les codes non conformes sur des milliers de lignes.
| A | B | C | |
|---|---|---|---|
| 1 | Code produit | Format conforme | Action |
| 2 | PRD-2024-156 | VRAI | Intégrer |
| 3 | SRV-2024-089 | VRAI | Intégrer |
| 4 | PRD2024156 | FAUX | Corriger |
| 5 | PR-2024-001 | FAUX | Corriger |
| 6 | ACC-2025-999 | VRAI | Intégrer |
=REGEXMATCH(A2;"^[A-Z]{3}-[0-9]{4}-[0-9]{3}$")Service client : détecter des numéros de téléphone français valides
Tu dois importer une base de 5 000 contacts dans ton CRM. Les numéros de téléphone ont été saisis dans différents formats : avec espaces, points, tirets. Tu veux valider que chaque numéro est un mobile ou fixe français valide (10 chiffres commençant par 0).
Le pattern est tolérant sur le séparateur (espace, point, tiret optionnel) tout en vérifiant que le numéro a bien 10 chiffres et commence par 0 suivi d'un chiffre de 1 à 9. 123456789 est rejeté car il ne commence pas par 0 et n'a que 9 chiffres. Parfait pour nettoyer une base hétérogène.
| A | B | C | |
|---|---|---|---|
| 1 | Numéro saisi | Valide | Type |
| 2 | 06 12 34 56 78 | VRAI | Mobile |
| 3 | 01.23.45.67.89 | VRAI | Fixe |
| 4 | 0712345678 | VRAI | Mobile |
| 5 | 123456789 | FAUX | Incomplet |
| 6 | 09-87-65-43-21 | VRAI | Fixe |
=REGEXMATCH(A2;"^0[1-9]([\s.-]?[0-9]{2}){4}$")Comptabilité : vérifier des numéros de facture selon le format légal
Ton entreprise utilise une numérotation séquentielle des factures : FAC-AAAA-NNNNN (FAC, tiret, année sur 4 chiffres, tiret, numéro sur 5 chiffres). Tu dois vérifier que toutes les factures du mois respectent ce format avant de clôturer la période.
Le pattern ^FAC-[0-9]{4}-[0-9]{5}$ est strict : FAC-24-156 échoue car l'année n'a que 2 chiffres, FACT-2024-00200 échoue car le préfixe comporte 4 lettres au lieu de 3. En automatisant cette vérification, tu évites les erreurs de numérotation qui pourraient poser problème lors d'un contrôle fiscal.
| A | B | C | |
|---|---|---|---|
| 1 | N° facture | Conforme | Statut |
| 2 | FAC-2024-00001 | VRAI | OK |
| 3 | FAC-2024-00156 | VRAI | OK |
| 4 | FAC-24-156 | FAUX | A corriger |
| 5 | FACT-2024-00200 | FAUX | A corriger |
| 6 | FAC-2024-99999 | VRAI | OK |
=REGEXMATCH(A2;"^FAC-[0-9]{4}-[0-9]{5}$")Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction REGEXMATCH
Avec REGEXMATCH, les ennuis viennent du pattern lui-même bien plus que de la cellule. Un point que tu oublies d'échapper (. veut dire « n'importe quel caractère »), des ancres ^ et $ manquantes qui transforment une vérification complète en simple « contient », ou un motif trop laxiste qui laisse tout passer.
Et n'oublie jamais le terrain de jeu : si tu tapes REGEXMATCH dans Excel, tu récoltes un #NOM?, car la fonction n'existe que dans Google Sheets.
Oublier d'échapper les caractères spéciaux
Les caractères ., *, +, ?, [, ], (, ), {, }, |, \, ^, $ ont une signification spéciale en regex. Si tu veux chercher un point littéral (par exemple dans V.2.0), tu dois l'échapper avec un antislash : \.
Solution : Pour chercher V.2.0 littéralement, utilise "V\.2\.0" et non "V.2.0" (qui signifierait V + n'importe quel caractère + 2 + n'importe quel caractère + 0). Quand tu n'es pas sûr, teste sur regex101.com avant d'implémenter.
Confondre correspondance partielle et correspondance complète
Par défaut, REGEXMATCH cherche le pattern n'importe où dans le texte. =REGEXMATCH("abc123def"; "123") retourne VRAI car 123 est présent quelque part. Si tu veux que tout le texte corresponde exactement au pattern, tu dois utiliser les ancres.
Solution : Ajoute ^ au début et $ à la fin pour ancrer le pattern : pour vérifier qu'une cellule contient uniquement des chiffres, utilise "^[0-9]+$" et non "[0-9]+" (qui accepterait aussi abc123def).
Erreur #NOM? : REGEXMATCH utilisée dans Excel
REGEXMATCH est exclusive à Google Sheets. Si tu l'utilises dans Excel, tu obtiens #NOM? car Excel ne reconnaît pas cette fonction native en formule standard.
Solution : Dans Excel, utilise des combinaisons de TROUVE, STXT, SUBSTITUE pour les cas simples. Pour des validations complexes, explore Power Query ou crée une fonction VBA personnalisée. Pour les projets nécessitant des regex, la migration vers Google Sheets est l'option la plus rapide.
Regex trop permissive ou trop stricte
Une regex mal calibrée peut accepter des valeurs invalides (trop permissive, ex. ".*@.*" valide n'importe quel texte avec un @) ou rejeter des valeurs valides (trop stricte, ex. une extension en 2 lettres rejetée par {3}).
Solution : Teste toujours ta regex sur des cas limites : valeurs valides minimales, maximales, avec caractères spéciaux, avec majuscules, etc. Utilise regex101.com (mode JavaScript, proche de la syntaxe Google Sheets) pour valider avant d'implémenter.
REGEXMATCH vs TROUVE vs REGEXEXTRACT
Prends REGEXMATCH quand tu veux juste un verdict VRAI/FAUX sur un format (un email, un code produit) sans rien récupérer du texte. Si tu cherches une chaîne fixe et que tu as besoin de sa position, TROUVE suffit et a l'avantage de marcher aussi dans Excel. Et si tu veux ressortir le bout de texte qui colle au motif plutôt qu'un oui/non, c'est REGEXEXTRACT qu'il te faut.
Attention : REGEXMATCH et REGEXEXTRACT sont réservées à Google Sheets, seul TROUVE passe partout.
| Critère | REGEXMATCH | TROUVE | REGEXEXTRACT |
|---|---|---|---|
| Valeur retournée | VRAI/FAUX | Position (nombre) | Texte extrait |
| Patterns complexes | ✅ Oui (regex) | ❌ Non (texte exact) | ✅ Oui (regex) |
| Cas d'usage principal | Validation de format | Recherche simple | Extraction de données |
| Disponibilité Excel | ❌ Google Sheets uniquement | ✅ Excel et Google Sheets | ❌ Google Sheets uniquement |
| Facilité d'apprentissage | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
Astuces avancées avec REGEXMATCH
Combine avec SI pour des messages explicites
Utilise =SI(REGEXMATCH(A2; pattern); "Format valide"; "ERREUR : vérifier le format") pour obtenir un message lisible au lieu d'un simple VRAI/FAUX. Très utile pour les fichiers partagés avec des collègues non techniques qui doivent comprendre l'action à mener.
Si tu as beaucoup de lignes, NB.SI(B:B; VRAI) te donne en un coup le nombre total de lignes valides pour un indicateur de qualité.
Stocke tes patterns dans des cellules dédiées
Au lieu d'écrire le pattern directement dans chaque formule, mets-le dans une cellule fixe (ex. Z1), puis utilise =REGEXMATCH(A2; $Z$1). Si tu dois ajuster le pattern, tu le modifies une seule fois et toutes les formules se mettent à jour automatiquement.
C'est particulièrement utile pour les patterns d'email ou de code produit que toute ton équipe partage.
Utilise (?i) pour ignorer la casse
Au lieu d'écrire [a-zA-Z] partout, ajoute le modificateur (?i) au début de ton expression : "(?i)[a-z]" rend toute la regex insensible à la casse. Pratique pour valider des codes produits peu importe que l'utilisateur ait saisi en majuscules ou en minuscules.
C'est plus lisible que de dupliquer les plages de caractères.
Questions fréquentes sur la fonction REGEXMATCH
REGEXMATCH fonctionne-t-elle dans Excel ?
Non, REGEXMATCH est spécifique à Google Sheets. Dans Excel, tu obtiens l'erreur #NOM? si tu l'utilises.
Pour des cas simples dans Excel, des combinaisons de TROUVE, CHERCHE et SUBSTITUE peuvent suffire. Pour des validations complexes, explore Power Query (langage M) ou crée une fonction VBA personnalisée.
Comment rendre la recherche insensible à la casse ?
Par défaut, REGEXMATCH est sensible à la casse (A différent de a). Utilise le modificateur (?i) au début de ton pattern : =REGEXMATCH(texte; "(?i)motif") pour ignorer les différences majuscules/minuscules.
C'est très utile pour valider des emails ou des codes produits saisis par des utilisateurs qui ne respectent pas toujours la casse attendue.
Peut-on extraire le texte correspondant avec REGEXMATCH ?
Non, REGEXMATCH retourne uniquement VRAI ou FAUX. Pour extraire le texte qui correspond au pattern, utilise REGEXEXTRACT. Pour remplacer du texte selon un pattern, utilise REGEXREPLACE.
Ces trois fonctions regex sont complémentaires : REGEXMATCH vérifie, REGEXEXTRACT extrait, REGEXREPLACE transforme.
Quelle est la différence entre REGEXMATCH et TROUVE ?
TROUVE cherche une chaîne de caractères exacte et retourne sa position (ou #VALEUR! si non trouvé). REGEXMATCH utilise des patterns flexibles et retourne VRAI/FAUX.
Par exemple, REGEXMATCH peut valider qu'un email a le bon format global, alors que TROUVE cherche juste si @ existe quelque part dans le texte.
Comment tester plusieurs patterns en même temps ?
Utilise l'opérateur | (OU) dans ton expression régulière : =REGEXMATCH(texte; "pattern1|pattern2|pattern3").
Par exemple, pour vérifier si un texte contient urgent OU important, utilise "urgent|important". Cette approche est plus propre que d'imbriquer plusieurs OU imbriqués.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
