Qu'est-ce que la fonction REGEX. TEST ?
Tu prends REGEX.TEST (REGEXTEST en anglais) quand les jokers classiques (*, ?) ou une simple fonction CHERCHE ne suffisent plus à garantir qu'un texte respecte un format strict, comme exactement cinq chiffres, pas une lettre en trop ou une structure précise. Elle te permet de repérer en un coup d'œil les emails mal saisis, les numéros de téléphone incomplets ou les références produit qui s'écartent du gabarit, sans empiler une cascade de conditions.
Les expressions régulières (regex) sont un langage de description de motifs qu'on retrouve dans la plupart des langages de programmation. REGEX.TEST les apporte dans Excel pour Microsoft 365, sans macro ni complément. Dans Google Sheets, le même test passe par REGEXMATCH.
Syntaxe
=REGEX.TEST(texte; modèle; [respect_casse])
Comprendre chaque paramètre de la fonction REGEX.TEST
Les deux premiers arguments vont toujours dans le même ordre, d'abord le texte à examiner, ensuite le motif qui décrit ce que tu cherches. C'est le motif qui fait tout le travail, et c'est aussi là que se cachent la plupart des pièges, comme un point non échappé ou des ancres oubliées.
Le troisième, facultatif, règle la casse. Laissé vide, il distingue les majuscules des minuscules, et à 1 il les confond.
texte
: le texte ou la référence de cellule à analyser, par exemple `A1` ou le texte `"contact@example.com"` écrit entre guillemets. REGEX.TEST parcourt l'intégralité du texte et renvoie VRAI dès qu'une partie correspond au motifPour vérifier que le texte entier correspond, et pas seulement une portion, ancre ton expression avec ^ au début et $ à la fin.
modèle
: le motif à rechercherLes éléments les plus courants sont [0-9] ou \d (un chiffre), [a-z] (une lettre minuscule), [A-Z] (une lettre majuscule), . (n'importe quel caractère), + (une fois ou plus), * (zéro fois ou plus), {n} (exactement n fois), ^ (début du texte) et $ (fin du texte).
Le motif est sensible à la casse par défaut. Pour l'ignorer, ajoute (?i) au début de l'expression ou passe le troisième argument à 1.
Attention : Les caractères spéciaux comme ., *, +, ?, [, ], (, ), {, }, ^, $ et \ doivent être précédés d'un antislash pour être lus au sens littéral. Pour chercher un vrai point, écris \. et non ., qui signifie « n'importe quel caractère ». Dans Excel, cet antislash s'écrit une seule fois.
[respect_casse]
: `0`, la valeur par défaut, distingue les majuscules des minuscules(facultatif)1 les confond, si bien que =REGEX.TEST("BONJOUR"; "bonjour"; 1) renvoie VRAI, alors que sans ce 1 la réponse est FAUX.
Le préfixe (?i) placé en tête du motif produit le même effet. Il reste utile quand le motif vient d'une autre cellule et que tu ne veux pas toucher à la formule.

Comment utiliser REGEX.TEST
Comment valider une adresse email avec la fonction REGEX.TEST
Ta prochaine campagne part lundi, et ta base CRM contient des adresses saisies à la main, dont certaines n'ont rien d'une adresse. Tu veux les repérer avant l'envoi, pour ne pas payer des rebonds ni abîmer la réputation de ton domaine d'envoi. La fonction REGEX.TEST vérifie la forme de chaque adresse et te répond par VRAI ou FAUX.
- 1Dans une cellule, écris
=REGEX.TEST(. - 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.
=REGEX.TEST(A2; "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}")@, le @ lui-même, un nom de domaine, un point échappé par \. et une extension d'au moins deux lettres. invalide n'a pas d'arobase et @manque.fr n'a rien devant, d'où leurs deux FAUX. La formule recopiée sur toute la colonne valide ta liste d'un coup.Comment vérifier le format d'un numéro de téléphone avec la fonction REGEX.TEST
Les numéros laissés dans ton formulaire de contact doivent partir chez un prestataire d'envoi de SMS, qui refuse tout ce qui n'est pas un mobile français à dix chiffres commençant par 06 ou 07. Tu veux repérer les numéros fautifs avant l'export, plutôt que de découvrir les refus un par un. La fonction REGEX.TEST compare chaque numéro au format attendu.
- 1Dans une cellule, écris
=REGEX.TEST(. - 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 quatorze chiffres contenant un mobile passerait à tort. - 4Ferme la parenthèse et appuie sur Entrée.
=REGEX.TEST(A2; "^0[67][0-9]{8}$")0, un chiffre 6 ou 7, exactement huit chiffres, fin du texte ». Les ancres ^ et $ sont essentielles ici, car sans elles la fonction renverrait VRAI pour un numéro de quatorze chiffres qui contient un mobile quelque part. 061234567, trop court, et 0512345678, qui n'est pas un mobile, reçoivent donc FAUX.Comment détecter un code postal dans une adresse avec la fonction REGEX.TEST
Tu importes des adresses depuis un outil externe avant une tournée de livraison, et certaines sont arrivées sans code postal. Tu veux les repérer tout de suite, pour rappeler les clients concernés avant que le transporteur ne te les renvoie. La fonction REGEX.TEST cherche un code postal n'importe où dans la ligne.
- 1Dans une cellule, écris
=REGEX.TEST(. - 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.
=REGEX.TEST(A2; "[0-9]{5}")Comment valider le format de date JJ/MM/AAAA avec la fonction REGEX.TEST
Un fichier de saisie te revient de trois services différents, et les dates textuelles qu'il contient ne suivent pas toutes le même format, entre l'ordre français, l'ordre ISO et les dates incomplètes. Avant de les convertir, tu veux savoir lesquelles respectent le format JJ/MM/AAAA. La fonction REGEX.TEST te le dit ligne par ligne.
- 1Dans une cellule, écris
=REGEX.TEST(. - 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 ». - 4Ferme la parenthèse et appuie sur Entrée.
=REGEX.TEST(A2; "^[0-9]{2}/[0-9]{2}/[0-9]{4}$")^ et $ lui font couvrir tout le texte de la cellule, si bien que 25/12/2024 15:30, avec son heure en trop, renvoie FAUX, comme 5/1/2024 à qui il manque deux zéros.Attention : Ce test ne vaut que pour des dates écrites en texte, comme celles d'un import. Une date tapée au clavier dans un Excel en français devient une vraie date, rangée sous son numéro de série, et REGEX.TEST lit alors ce nombre. 25/12/2024 tapé dans une cellule renvoie donc FAUX.

REGEX.TEST vs REGEX.EXTRAIRE vs CHERCHE vs TROUVE
REGEX.TEST répond à la question « ce motif existe-t-il ? ». Utilise REGEX.EXTRAIRE si tu veux récupérer la partie qui correspond, et REGEX.REMPLACER pour la remplacer.
CHERCHE et TROUVE n'acceptent pas les expressions régulières, mais elles fonctionnent dans toutes les versions d'Excel. CHERCHE accepte en plus les jokers ? et *, ce qui dépanne pour un format simple quand tu n'as pas Microsoft 365.
| Critère | REGEX.TEST | REGEX.EXTRAIRE | CHERCHE | TROUVE |
|---|---|---|---|---|
| Fonction | Tester un motif | Extraire un motif | Chercher un texte fixe | Chercher (sensible à la casse) |
| Résultat | VRAI / FAUX | Texte extrait | Position numérique | Position numérique |
| Accepte les regex | Oui | Oui | Non (jokers ? et *) | Non |
| Disponibilité | Excel pour Microsoft 365 | Excel pour Microsoft 365 | Toutes les versions | Toutes les versions |
| Cas d'usage typique | Valider un format | Extraire un code | Trouver un mot fixe | Trouver (exact) |

Les erreurs fréquentes avec la fonction REGEX.TEST
Quatre ennuis reviennent avec REGEX.TEST, et ils n'ont rien à voir entre eux. Une regex mal écrite, un crochet ou une parenthèse oublié, déclenche #VALEUR!, et un nom que ton Excel ne reconnaît pas affiche #NOM?.
Les deux autres ne font aucune erreur, et c'est ce qui les rend sournois. Un VRAI qui te semble injustifié vient presque toujours d'un motif sans ancres ^...$, et un FAUX sur une donnée pourtant juste vient d'un nombre ou d'une date qu'Excel a rangé autrement que tu ne le lis.
Erreur #VALEUR! avec une regex mal formée
L'expression régulière contient une erreur de syntaxe, comme une parenthèse non fermée, un crochet ouvrant sans crochet fermant ou un quantificateur placé en tête. =REGEX.TEST(A2; "[0-9") renvoie ainsi #VALEUR!.
Solution : Vérifie soigneusement les caractères qui vont par paires, crochets [] et parenthèses (). Simplifie la regex jusqu'à la version minimale qui fonctionne, puis ajoute les contraintes une à une.
Erreur #NOM? ou fonction non reconnue
Tu as tapé le nom anglais de la fonction dans un Excel en français, ou ta version d'Excel ne la connaît pas, puisqu'elle est réservée à Excel pour Microsoft 365. Si tu es dans Google Sheets, le même test passe par REGEXMATCH.
Solution : Écris REGEX.TEST dans un Excel en français. Sans Microsoft 365, une combinaison de CHERCHE (insensible à la casse) ou de TROUVE (sensible à la casse) dans ESTNUM donne une validation partielle, qui repère un texte fixe mais pas un format.
REGEX.TEST renvoie VRAI alors que le format semble faux
Sans les ancres ^ et $, REGEX.TEST renvoie VRAI dès qu'une partie du texte correspond. [0-9]{5} renvoie ainsi VRAI pour un texte de 20 chiffres, puisque cinq chiffres consécutifs y figurent.
Solution : Ajoute ^ au début et $ à la fin de ton expression pour valider le texte entier. ^[0-9]{5}$ ne renvoie VRAI que pour exactement cinq chiffres et rien d'autre.
REGEX.TEST renvoie FAUX sur un numéro ou une date bien saisis
La fonction lit la valeur telle qu'Excel la range. Un numéro tapé 0612345678 devient le nombre 612345678, sans son zéro de tête, et une date tapée 25/12/2024 devient un numéro de série. Le motif ne retrouve alors ni le 0 ni les barres obliques.
Solution : Formate la colonne en Texte avant la saisie, ou fais précéder la valeur d'une apostrophe. Pour des données déjà saisies, teste plutôt le texte affiché, par exemple TEXTE(A2; "jj/mm/aaaa") pour une date.
Tu as peut-être encore une question
Une expression régulière est un motif de recherche qui décrit une forme de texte. [0-9]+ correspond par exemple à un ou plusieurs chiffres, et [A-Z]{2} à deux lettres majuscules.
Les regex font ce que les jokers * et ? ne savent pas faire, comme imposer un nombre exact de caractères, alterner entre plusieurs motifs ou valider une adresse email.
REGEX.TEST est réservée à Excel pour Microsoft 365, sur Windows comme sur Mac. L'aide de Microsoft ne la cite pour aucune version sans abonnement, Excel 2024 compris. Dans Google Sheets, le même test passe par REGEXMATCH. Si tu partages un fichier avec des utilisateurs d'Excel sans abonnement, prévois une formule de repli avec CHERCHE ou TROUVE.
Oui, par défaut, les expressions régulières distinguent les majuscules des minuscules, et [a-z] ne correspond qu'aux minuscules.
Pour ignorer la casse, passe 1 en troisième argument ou ajoute le modificateur (?i) au début de ton expression. =REGEX.TEST("BONJOUR"; "(?i)bonjour") renvoie alors VRAI, comme il le ferait pour bonjour ou Bonjour.
Les caractères ., *, +, ?, [, ], (, ), {, }, ^, $ et \ ont une signification spéciale en regex. Pour les chercher au sens littéral, précède-les d'un antislash, comme \. pour un point.
Dans Excel, cet antislash s'écrit une seule fois. Doublé, il chercherait un antislash dans le texte, si bien que =REGEX.TEST("12.5"; "\\.") renvoie FAUX.
REGEX.TEST répond à la question « ce motif est-il présent ? » et renvoie VRAI ou FAUX. Utilise-la pour valider un format.
REGEX.EXTRAIRE renvoie la partie du texte qui correspond au motif. Utilise-la pour récupérer une donnée. Si la cellule contient Facture F-20241025-001, le motif \d{8} lui fait extraire la date 20241025.
Un SIRET compte 14 chiffres, et le motif ^[0-9]{14}$ valide exactement 14 chiffres. Si tes SIRET contiennent des espaces, au format 732 829 320 00074, adapte le motif avec ^[0-9]{3}\s?[0-9]{3}\s?[0-9]{3}\s?[0-9]{5}$.
REGEX.TEST ne vérifie que la forme du numéro, pas sa clé de contrôle, calculée par l'algorithme de Luhn, qui demande un calcul à part.
REGEX.TEST devient REGEXTEST. Excel traduit le nom des fonctions selon la langue de son interface, donc tu tapes =REGEX.TEST( dans un Excel français et =REGEXTEST( dans un Excel anglais. Le classeur, lui, ne bouge pas. Un fichier écrit en français s'ouvre sans erreur dans un Excel anglais, qui affiche simplement REGEXTEST à la place. Les autres fonctions sont dans la table français / anglais.
Pour aller plus loin
Tout ce dont tu as besoin pour maîtriser la fonction REGEX.TEST se trouve ici.









