Qu'est-ce que la fonction REGEXMATCH ?
Tu sors REGEXMATCH quand un format ne se laisse pas décrire par un TROUVE ou un CHERCHE tout simple, parce qu'il varie légèrement d'une ligne à l'autre ou combine plusieurs règles à la fois : elle t'évite d'empiler des ET, des OU et des fonctions texte imbriquées pour un seul contrôle.
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.

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).

Exemples pratiques pas à pas
Comment vérifier qu'un code respecte un format avec la fonction REGEXMATCH
Les codes produits de ta boîte suivent une nomenclature stricte : trois lettres majuscules pour la catégorie, un tiret, quatre chiffres pour l'année, un tiret, trois chiffres pour le numéro. Avant d'injecter les nouveaux codes dans l'ERP, tu veux repérer d'un coup ceux qui sortent du cadre, sans relire les lignes une à une. La fonction REGEXMATCH compare chaque code au format attendu et rend son verdict.
- 1Dans une cellule, écris
=REGEXMATCH(. - 2En 1er argument : clique sur la cellule qui contient le code à contrôler,
A2. C'est le code produit tel qu'il a été saisi, et la fonction va le comparer au format attendu. - 3En 2ᵉ argument : écris entre guillemets le format attendu,
"^[A-Z]{3}-\d{4}-\d{3}$". Il se lit « début de cellule, exactement trois lettres majuscules, un tiret, quatre chiffres, un tiret, trois chiffres, fin de cellule ». Sans le^et le$, un code noyé dans d'autre texte passerait quand même le contrôle. - 4Ferme la parenthèse et appuie sur Entrée.
=REGEXMATCH(A2; "^[A-Z]{3}-\d{4}-\d{3}$")^ exige le début de la cellule et $ sa fin, donc le code doit coller au motif en entier, et pas seulement le contenir quelque part. PRD2024156 échoue faute de tirets, PR-2024-001 parce qu'il n'a que deux lettres. Note l'affichage : Google Sheets écrit TRUE et FALSE en anglais, même dans une feuille réglée sur la France.Comment tester plusieurs mots-clés d'un coup avec la fonction REGEXMATCH
Ta boîte de réception mélange des demandes anodines et des messages qui ne peuvent pas attendre. Tu veux faire remonter automatiquement ceux qui contiennent un mot d'alerte, quelle que soit la façon dont il est écrit, pour les traiter en premier le matin. La fonction REGEXMATCH teste les trois mots d'un seul coup, là où il faudrait sinon empiler des conditions.
- 1Dans une cellule, écris
=REGEXMATCH(. - 2En 1er argument : clique sur la cellule qui porte le message à analyser,
A2. C'est le texte reçu dans la boîte, et la fonction y cherche l'un des mots d'alerte. - 3En 2ᵉ argument : écris entre guillemets tes mots-clés séparés par une barre verticale,
"(?i)urgent|prioritaire|réclamation". Le(?i)placé en tête rend toute la recherche insensible aux majuscules, et chaque|ajoute une possibilité de plus, si bien que le motif est vrai dès qu'un de ces mots apparaît. - 4Ferme la parenthèse et appuie sur Entrée.
=REGEXMATCH(A2; "(?i)urgent|prioritaire|réclamation")| se lit « ou » : le motif est vrai dès que l'un des trois mots apparaît. Ici il n'y a volontairement ni ^ ni $, donc la correspondance est partielle, et c'est ce qui permet à urgente de déclencher le mot urgent. Le préfixe (?i) ignore la casse, sans quoi le Réclamation en majuscule passerait à travers.Comment afficher un message lisible avec les fonctions REGEXMATCH et SI
Ton fichier de contrôle circule maintenant dans l'équipe, et une colonne remplie de TRUE et de FALSE ne dit à personne quoi en faire. Tu veux que chaque ligne annonce elle-même la consigne, pour que le fichier se suffise à lui-même sans que tu aies à l'expliquer. Il suffit de confier le verdict de la fonction REGEXMATCH à une fonction SI, qui le traduit en clair.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris le contrôle à évaluer et referme-le,
REGEXMATCH(A2; "^[A-Z]{3}-\d{4}-\d{3}$"). C'est lui le test logique de SI, et il ne peut répondre que par vrai ou faux, exactement ce que SI attend. - 3En 2ᵉ argument : écris entre guillemets ce qui s'affiche quand le code respecte le format,
"Conforme". - 4En 3ᵉ argument : écris entre guillemets ce qui s'affiche quand le code sort du cadre,
"À corriger". - 5Ferme la parenthèse et appuie sur Entrée.
=SI(REGEXMATCH(A2; "^[A-Z]{3}-\d{4}-\d{3}$"); "Conforme"; "À corriger")
Les 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
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.
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.
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.
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.
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
Continue sur ta lancée après la fonction REGEXMATCH : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



