REGEXTEST teste si un texte correspond à un motif défini par une expression régulière. Elle renvoie VRAI dès qu'une correspondance est trouvée, FAUX sinon. C'est l'outil idéal pour valider des formats complexes directement dans une feuille de calcul : emails, numéros de téléphone, codes postaux, références produit, numéros de SIRET.
Les expressions régulières (regex) sont un langage universel de recherche de motifs utilisé dans tous les langages de programmation. Avec REGEXTEST, Google Sheets intègre enfin ce puissant mécanisme nativement, sans macro ni module complémentaire.
Syntaxe de la fonction REGEXTEST
=REGEXTEST(texte; expression_régulière)Comprendre chaque paramètre de la fonction REGEXTEST
Les deux arguments vont toujours dans le même ordre : d'abord le texte à examiner, ensuite le motif regex qui décrit ce que tu cherches. Aucun n'est facultatif, mais c'est le motif qui fait tout le travail, et c'est aussi là que se cachent la plupart des pièges (casse sensible par défaut, caractères spéciaux à échapper).
texte
: le texte ou la référence de cellule à analyserPar exemple A1 ou la chaîne littérale "contact@example.com".
REGEXTEST parcoure l'intégralité du texte et retourne VRAI dès qu'une partie correspond au motif. Pour valider que le texte entier correspond (et pas seulement une portion), ancre ton expression avec ^ au début et $ à la fin.
Astuce : Pour tester si le texte entier correspond (pas juste une sous-chaîne), utilise ^ et $ dans ton expression : =REGEXTEST(A1; "^[0-9]{5}$") valide exactement 5 chiffres, sans rien d'autre.
expression_régulière
: le motif regex à rechercherLes éléments les plus courants sont : [0-9] ou \d (un chiffre), [a-z] (lettre minuscule), [A-Z] (lettre majuscule), . (n'importe quel caractère), + (une fois ou plus), * (zéro fois ou plus), {n} (exactement n fois), ^ (début du texte), $ (fin du texte).
Les expressions régulières sont sensibles à la casse par défaut. Pour ignorer la casse, ajoute le modificateur (?i) au début de ton expression.
Attention : Les caractères spéciaux comme ., *, +, ?, [, ], (, ), {, }, ^, $ et \ doivent être précédés d'un antislash pour être interprétés littéralement. Par exemple, pour chercher un point réel, écris \. et non . (qui signifie "n'importe quel caractère").
Exemples pratiques pas à pas
Responsable CRM : valider les adresses email
Tu gères une base CRM et tu veux signaler les adresses email mal saisies avant d'envoyer une campagne. Le motif [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} vérifie la présence de caractères valides avant le @, d'un @, d'un nom de domaine, d'un point et d'une extension d'au moins 2 lettres.
Note le double antislash \\. dans la formule Excel : un antislash échappe le point en regex, et le second antislash est requis par Excel pour écrire un antislash littéral dans une chaîne. Copie cette formule sur toute la colonne pour valider d'un coup toute ta liste.
| A | B | |
|---|---|---|
| 1 | Valide ? | |
| 2 | contact@example.com | VRAI |
| 3 | invalide | FAUX |
| 4 | test@domain.fr | VRAI |
| 5 | @manque.fr | FAUX |
=REGEXTEST(A2; "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}")Service client : vérifier le format des téléphones
Tu gères un formulaire de contact et tu veux t'assurer que les numéros saisis sont bien des mobiles français au format 10 chiffres commençant par 06 ou 07. Le motif ^0[67][0-9]{8}$ se lit ainsi : ^ début, 0 chiffre zéro, [67] un chiffre 6 ou 7, [0-9]{8} exactement 8 chiffres, $ fin.
Les ancres ^ et $ sont essentielles ici : sans elles, REGEXTEST retournerait VRAI pour un numéro de 15 chiffres qui contient 06 quelque part. Avec les ancres, tu valides la totalité du texte.
| A | B | |
|---|---|---|
| 1 | Téléphone | Format OK ? |
| 2 | 0612345678 | VRAI |
| 3 | 0712345678 | VRAI |
| 4 | 061234567 | FAUX |
| 5 | 0512345678 | FAUX |
=REGEXTEST(A2; "^0[67][0-9]{8}$")Logistique : détecter un code postal français
Tu importes des adresses depuis un outil externe et certaines n'ont pas de code postal. Le motif [0-9]{5} cherche 5 chiffres consécutifs n'importe où dans le texte. Sans ancres, REGEXTEST retourne VRAI dès que 5 chiffres sont présents quelque part dans la chaîne.
Tu peux ensuite coupler REGEXTEST avec FILTRE pour isoler les adresses incomplètes et les traiter séparément, ou avec une mise en forme conditionnelle pour les surligner en rouge dans ton tableau.
| A | B | |
|---|---|---|
| 1 | Adresse | Code postal présent ? |
| 2 | 12 rue de Paris 75008 | VRAI |
| 3 | Lyon centre | FAUX |
| 4 | 33000 Bordeaux | VRAI |
=REGEXTEST(A2; "[0-9]{5}")Comptabilité : valider le format de date JJ/MM/AAAA
Tu importes des données de saisie et les dates sont parfois dans des formats différents (américain, ISO, ou incomplet). Le motif ^[0-9]{2}/[0-9]{2}/[0-9]{4}$ exige exactement : 2 chiffres, un slash, 2 chiffres, un slash, 4 chiffres, et rien d'autre.
Les ancres ^ et $ garantissent que le format couvre tout le texte de la cellule. Un texte comme 25/12/2024 15:30 retournerait FAUX, ce qui est bien le comportement voulu si tu veux uniquement des dates sans heure.
| A | B | |
|---|---|---|
| 1 | Date saisie | Format correct ? |
| 2 | 25/12/2024 | VRAI |
| 3 | 2024-12-25 | FAUX |
| 4 | 5/1/2024 | FAUX |
| 5 | 05/01/2024 | VRAI |
=REGEXTEST(A2; "^[0-9]{2}/[0-9]{2}/[0-9]{4}$")REGEXTEST vs REGEXEXTRACT vs CHERCHE vs TROUVE
REGEXTEST répond à la question "ce motif existe-t-il ?". Utilise REGEXEXTRACT si tu veux récupérer la partie qui correspond, et REGEXREPLACE pour remplacer. CHERCHE et TROUVE n'acceptent pas les regex mais fonctionnent dans toutes les versions.
| Critère | REGEXTEST | REGEXEXTRACT | CHERCHE | TROUVE |
|---|---|---|---|---|
| Fonction | Tester un motif | Extraire un motif | Chercher un texte fixe | Chercher (sensible casse) |
| Résultat | VRAI / FAUX | Texte extrait | Position numérique | Position numérique |
| Supporte les regex | Oui | Oui | Non | Non |
| Disponibilité | Google Sheets / Excel 365 | Google Sheets / Excel 365 | Toutes versions | Toutes versions |
| Cas d'usage typique | Valider un format | Extraire un code | Trouver un mot fixe | Trouver (exact) |
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction REGEXTEST
Trois ennuis reviennent avec REGEXTEST, et ils n'ont rien à voir entre eux. Une regex mal écrite (crochet ou parenthèse oublié) déclenche #CALC!, une version d'Excel trop ancienne sort #NOM?, et un VRAI qui te semble injustifié vient presque toujours d'un motif sans ancres ^...$, qui se contente de trouver une correspondance n'importe où dans la cellule.
Erreur #CALC! avec une regex invalide
L'expression régulière contient une erreur de syntaxe : parenthèses non fermées, quantificateur mal placé, ou crochet ouvrant sans fermant.
Solution : Vérifie soigneusement les caractères appariés (crochets [], parenthèses ()). Commence par simplifier la regex jusqu'à la version minimale qui fonctionne, puis ajoute les contraintes une à une.
Erreur #NOM? ou fonction non reconnue
REGEXTEST n'est pas disponible dans ta version d'Excel ou de Google Sheets. Dans Excel, elle nécessite Excel 365 avec les dernières mises à jour.
Solution : Mets à jour Excel 365 vers la version la plus récente. En attendant, tu peux remplacer REGEXTEST par une combinaison de CHERCHE (insensible à la casse) ou TROUVE (sensible à la casse) imbriquées dans SIERREUR pour une validation partielle.
REGEXTEST retourne VRAI alors que le format semble faux
Sans les ancres ^ et $, REGEXTEST retourne VRAI dès qu'une sous-chaîne du texte correspond. Par exemple, [0-9]{5} retourne VRAI pour un texte de 20 chiffres car 5 chiffres consécutifs y sont présents.
Solution : Ajoute ^ au début et $ à la fin de ton expression pour valider le texte entier : ^[0-9]{5}$ ne retournera VRAI que pour exactement 5 chiffres et rien d'autre.
Questions fréquentes sur la fonction REGEXTEST
Qu'est-ce qu'une expression régulière (regex) ?
Une expression régulière est un motif de recherche qui décrit des chaînes de texte. Par exemple, [0-9]+ correspond à un ou plusieurs chiffres, [A-Z]{2} correspond à deux lettres majuscules. C'est un langage universel utilisé dans tous les environnements de développement.
Dans une feuille de calcul, les regex permettent de faire ce que les jokers * et ? ne peuvent pas : imposer un nombre exact de caractères, alterner entre plusieurs motifs, ou valider un format complexe comme une adresse email.
Quelle version supporte REGEXTEST ?
REGEXTEST est disponible dans Google Sheets depuis longtemps (pas de version minimum requise), et dans Excel 365 à partir des versions récentes de 2024. Elle n'est pas disponible dans Excel 2021 ni les versions antérieures.
Si tu dois travailler sur un fichier partagé avec des utilisateurs d'Excel classique, prévois une formule de repli avec CHERCHE ou TROUVE.
Les regex sont-elles sensibles à la casse dans Excel et Google Sheets ?
Oui, par défaut les expressions régulières sont sensibles à la casse : [a-z] ne correspond qu'aux minuscules, [A-Z] qu'aux majuscules.
Pour ignorer la casse, ajoute le modificateur (?i) au début de ton expression. Par exemple, (?i)bonjour correspondra à bonjour, Bonjour et BONJOUR indifféremment.
Comment échapper les caractères spéciaux dans une regex ?
Les caractères ., *, +, ?, [, ], (, ), {, }, ^, $ et \ ont une signification spéciale en regex. Pour les rechercher littéralement, précède-les d'un antislash.
Attention dans Excel : pour écrire un antislash dans une chaîne de formule, tu dois l'écrire deux fois. Donc pour chercher un point littéral dans Excel, écris \\. dans la formule (deux antislash pour un dans la chaîne, plus un point échappé).
Quelle différence entre REGEXTEST et REGEXEXTRACT ?
REGEXTEST répond à la question "ce motif est-il présent ?" et retourne VRAI ou FAUX. Utilise-la pour la validation.
REGEXEXTRACT extrait et retourne la partie du texte qui correspond au motif. Utilise-la pour récupérer des données. Si la cellule A1 contient Facture F-20241025-001, REGEXEXTRACT peut en extraire juste la date 20241025.
Comment valider un numéro de SIRET avec REGEXTEST ?
Un SIRET est composé de 14 chiffres. Le motif ^[0-9]{14}$ valide exactement 14 chiffres. Si les SIRET dans ton fichier peuvent contenir des espaces (format xxx xxx xxx xxxxx), adapte avec ^[0-9]{3}\s?[0-9]{3}\s?[0-9]{3}\s?[0-9]{5}$.
Note que REGEXTEST ne vérifie pas l'algorithme de Luhn (validité mathématique du numéro), seulement le format. Pour une validation complète, il faut une macro VBA ou un script Google Apps Script.
Pour aller plus loin
Les fonctions similaires : REGEXEXTRACT, REGEXREPLACE, CHERCHE, TROUVE, NBCAR
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
