Qu'est-ce que la fonction REGEXTEST ?
Tu sors REGEXTEST quand les jokers classiques (*, ?) ou une simple fonction CHERCHE ne suffisent plus à garantir qu'un texte respecte un format strict : compter exactement 5 chiffres, refuser une lettre en trop, valider une structure précise. Elle te permet de repérer en un coup d'oeil les emails mal saisis, les numéros de téléphone incomplets ou les références produit qui sortent du gabarit, sans empiler une cascade de conditions.
Les expressions régulières (regex) sont un langage universel de recherche de motifs utilisé dans tous les langages de programmation. REGEXTEST est le nom de cette fonction dans Excel 365, qui intègre enfin ce mécanisme nativement, sans macro ni module complémentaire. Dans Google Sheets, la fonction équivalente ne s'appelle pas REGEXTEST mais REGEXMATCH.

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.
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.
- 1Dans une cellule, écris
=REGEXTEST(. - 2En 1er argument : clique sur la cellule qui contient l'adresse à tester,
A2. C'est l'email tel qu'il a été saisi dans ta base, et la fonction va vérifier qu'il a bien la forme d'une adresse. - 3En 2ᵉ argument : écris entre guillemets le motif d'une adresse valide,
"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}". Il réclame des caractères autorisés, puis un@, un nom de domaine, un point et une extension d'au moins deux lettres. - 4Ferme la parenthèse et appuie sur Entrée.
=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.
- 1Dans une cellule, écris
=REGEXTEST(. - 2En 1er argument : clique sur la cellule qui contient le numéro à vérifier,
A2. C'est le téléphone saisi dans le formulaire, que tu veux limiter aux mobiles français. - 3En 2ᵉ argument : écris entre guillemets le format attendu,
"^0[67][0-9]{8}$". Il se lit « début de cellule, un0, un chiffre 6 ou 7, puis exactement huit chiffres, fin de cellule ». Sans le^et le$, un numéro de quinze chiffres contenant06quelque part passerait à tort. - 4Ferme la parenthèse et appuie sur Entrée.
=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.
- 1Dans une cellule, écris
=REGEXTEST(. - 2En 1er argument : clique sur la cellule qui contient l'adresse à examiner,
A2. Elle vient d'un import externe, et certaines lignes n'ont pas de code postal. - 3En 2ᵉ argument : écris entre guillemets le motif à repérer,
"[0-9]{5}". Il demande cinq chiffres consécutifs, volontairement sans ancre^ni$, pour repérer un code postal glissé n'importe où dans l'adresse. - 4Ferme la parenthèse et appuie sur Entrée.
=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.
- 1Dans une cellule, écris
=REGEXTEST(. - 2En 1er argument : clique sur la cellule qui contient la date saisie,
A2. Elle provient d'un import où les formats se mélangent, et tu ne veux garder que le formatJJ/MM/AAAA. - 3En 2ᵉ argument : écris entre guillemets le format exigé,
"^[0-9]{2}/[0-9]{2}/[0-9]{4}$". Il se lit « début de cellule, deux chiffres, un/, deux chiffres, un/, quatre chiffres, fin de cellule ». Les ancres^et$couvrent tout le texte, si bien que25/12/2024 15:30, avec son heure en trop, est refusé. - 4Ferme la parenthèse et appuie sur Entrée.
=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é | Excel 365 (2024+) | Google Sheets / Excel 365 | Toutes versions | Toutes versions |
| Cas d'usage typique | Valider un format | Extraire un code | Trouver un mot fixe | Trouver (exact) |

Les 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 : elle nécessite Excel 365 avec les mises à jour de 2024, et reste absente d'Excel 2021, des versions antérieures et des licences perpétuelles. Si tu es dans Google Sheets, la fonction ne s'appelle pas REGEXTEST mais REGEXMATCH.
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
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.
REGEXTEST est une fonction d'Excel 365, ajoutée avec les mises à jour de 2024. Elle n'existe pas dans Excel 2021 ni les versions antérieures, ni dans les licences perpétuelles Office, où elle renvoie #NOM?. Attention à une confusion fréquente : Google Sheets n'a pas de REGEXTEST. Pour le même test (le motif est-il présent ?), Google Sheets utilise REGEXMATCH. Et si tu partages un fichier avec des utilisateurs d'Excel classique, prévois une formule de repli avec CHERCHE ou TROUVE.
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.
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é).
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.
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
Continue sur ta lancée après la fonction REGEXTEST : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir

