CHERCHE (SEARCH en anglais) est une fonction texte essentielle qui retourne la position d'un caractère ou d'une chaîne de texte dans une autre chaîne. Elle n'est pas sensible à la casse, ce qui signifie qu'elle traite "excel", "Excel" et "EXCEL" de la même façon. C'est ton alliée pour analyser des codes produits, extraire des données d'emails ou nettoyer des bases de données importées.
Concrètement, CHERCHE est presque toujours combinée avec STXT, GAUCHE ou DROITE : elle localise un caractère repère (un @, un tiret, une virgule) et les autres fonctions extraient ce qui l'entoure. Vérifier qu'un numéro de TVA commence par "FR", découper un nom complet au format "Nom, Prénom", isoler une catégorie dans un code produit : CHERCHE est le point de départ de toutes ces manipulations.
Syntaxe de la fonction CHERCHE
=CHERCHE(texte_cherché; texte; [no_départ])Comprendre chaque paramètre de la fonction CHERCHE
Les trois arguments se lisent dans l'ordre : ce que tu cherches, puis dans quelle chaîne, et enfin à partir de quel caractère commencer. Seul ce dernier, no_départ, est facultatif et vaut 1 par défaut. C'est lui qu'on ressort pour aller chercher une deuxième occurrence, en relançant CHERCHE juste après la première.
texte_cherché
: c'est le texte ou le caractère que tu cherchesÇa peut être un caractère simple comme "@", un mot comme "excel", ou même une référence de cellule comme B1. CHERCHE n'est pas sensible à la casse : chercher "EXCEL" trouvera aussi "excel" ou "Excel".
Tu peux utiliser les jokers * (n'importe quel nombre de caractères) et ? (un seul caractère) pour des recherches plus flexibles. Par exemple, "ex*" trouve "excel", "exemple" ou "expert".
Astuce : Les jokers ne fonctionnent qu'avec CHERCHE, pas avec TROUVE. Si tu veux rechercher un vrai astérisque dans le texte, écris "~*" (le tilde neutralise le joker).
texte
: c'est la chaîne de texte dans laquelle tu effectues la rechercheGénéralement, c'est une référence de cellule comme A1 qui contient un email, un code produit ou toute autre donnée. Excel examine ce texte caractère par caractère jusqu'à trouver texte_cherché.
no_départ
: ce paramètre optionnel indique à partir de quelle position commencer la recherche(facultatif)Par défaut, c'est 1 (le premier caractère). Si tu mets 5, Excel ignorera les 4 premiers caractères et commencera à chercher à partir du 5e.
C'est utile quand tu veux trouver une deuxième occurrence : tu cherches d'abord la première, puis tu relances CHERCHE à partir de cette position + 1 : =CHERCHE("-"; A1; CHERCHE("-"; A1)+1) trouve le deuxième tiret.
Attention : Si no_départ est supérieur à la longueur du texte, ou inférieur à 1, CHERCHE renvoie #VALEUR!. Utilise NBCAR pour vérifier la longueur si besoin.
Pas envie d'écrire la formule CHERCHE à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Data analyst : extraire le domaine des emails clients
Tu es data analyst et tu as une liste de 5 000 emails clients. Tu dois extraire le nom de domaine (tout ce qui est après le @) pour analyser la répartition par type d'entreprise (Gmail, domaines d'entreprise, etc.).
CHERCHE retourne la position du @ (par exemple 13 pour "marie.dupont@gmail.com"), puis STXT commence à extraire juste après (+1). Le 100 couvre n'importe quelle longueur de domaine. Cette formule s'adapte automatiquement à tous les emails, quelle que soit leur longueur.
| A | B | |
|---|---|---|
| 1 | Domaine | |
| 2 | marie.dupont@gmail.com | gmail.com |
| 3 | pierre@startup-tech.fr | startup-tech.fr |
| 4 | sophie.martin@entreprise.com | entreprise.com |
| 5 | contact@ledojo.club | ledojo.club |
=STXT(A2; CHERCHE("@"; A2)+1; 100)Astuce de pro : Combine CHERCHE avec STXT pour extraire dynamiquement du texte. Pour extraire le nom de domaine d'un email, =STXT(A2; CHERCHE("@"; A2)+1; 100) commence juste après le @ et extrait tout le reste.
RH : extraire le prénom depuis "Nom, Prénom"
Tu travailles aux ressources humaines et ton logiciel de paie a exporté les noms au format "Nom, Prénom". Tu dois séparer le prénom pour créer des badges personnalisés pour le séminaire d'entreprise.
CHERCHE trouve la position de la virgule (par exemple 7 pour "Dupont,"), on ajoute 2 pour sauter la virgule et l'espace qui suit, et STXT extrait le reste. Résultat : des prénoms propres en quelques secondes au lieu de les copier-coller manuellement.
| A | B | |
|---|---|---|
| 1 | Nom complet | Prénom |
| 2 | Dupont, Marie | Marie |
| 3 | Martin, Pierre | Pierre |
| 4 | Bernard, Sophie | Sophie |
| 5 | Petit, Lucas | Lucas |
=STXT(A2; CHERCHE(","; A2)+2; 100)Commercial : extraire le préfixe des codes produits
Tu es commercial et tes codes produits suivent le format "CATÉGORIE-NUMÉRO" (comme "ELEC-1245" ou "MEUB-0089"). Tu veux extraire automatiquement la catégorie pour faire un rapport de ventes par famille de produits.
CHERCHE localise le tiret (position 5 pour "ELEC-"), on soustrait 1 pour ne pas inclure le tiret lui-même, et GAUCHE extrait les caractères depuis le début. Cette méthode fonctionne même si les catégories ont des longueurs différentes (3 ou 4 lettres).
| A | B | |
|---|---|---|
| 1 | Code produit | Catégorie |
| 2 | ELEC-1245 | ELEC |
| 3 | MEUB-0089 | MEUB |
| 4 | JARD-5632 | JARD |
| 5 | SPOR-0154 | SPOR |
=GAUCHE(A2; CHERCHE("-"; A2)-1)Comptable : valider le format des numéros de TVA
Tu es comptable et tu reçois des numéros de TVA intracommunautaire qui doivent commencer par "FR". Tu veux vérifier automatiquement que tous les numéros sont bien au bon format avant de les enregistrer dans ton logiciel.
Si CHERCHE trouve "FR" (ou "fr" - elle n'est pas sensible à la casse) en position 1, le numéro est valide. Sinon, il est invalide. Pour gérer les cas où "FR" n'existe pas du tout, améliore la formule avec SIERREUR : =SI(SIERREUR(CHERCHE("FR"; A2); 0)=1; "OUI"; "NON").
| A | B | |
|---|---|---|
| 1 | Numéro TVA | Valide ? |
| 2 | FR12345678901 | OUI |
| 3 | DE987654321 | NON |
| 4 | FR98765432109 | OUI |
| 5 | BE456789012 | NON |
=SI(CHERCHE("FR"; A2)=1; "OUI"; "NON")Astuce de pro : Pour trouver un deuxième tiret ou une deuxième occurrence, utilise le paramètre no_départ. D'abord trouve la première occurrence, puis relance CHERCHE à partir de cette position + 1 : =CHERCHE("-"; A1; CHERCHE("-"; A1)+1).
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction CHERCHE
Avec CHERCHE, ce qui coince tourne presque toujours autour du #VALEUR! : il tombe soit parce que le texte cherché n'existe pas dans la chaîne, soit parce que ton no_départ pointe en dehors du texte. Le troisième traquenard est plus sournois : comme CHERCHE ignore les majuscules, elle trouve "excel" dans "EXCEL" là où tu attendais un échec.
Erreur #VALEUR! quand le texte cherché est absent
C'est l'erreur la plus courante avec CHERCHE. Elle apparaît quand le texte que tu cherches n'existe pas dans la chaîne. Par exemple, chercher un "@" dans un texte qui n'est pas un email, ou tester un "FR" dans un numéro étranger.
Solution : Entoure ta formule de SIERREUR pour gérer ce cas : =SIERREUR(CHERCHE("@"; A1); "Pas d'email"). Au lieu d'une erreur, tu obtiens un message clair ou une valeur par défaut (comme 0 ou ""),
Résultat inattendu à cause de la non-sensibilité à la casse
Tu utilises CHERCHE mais tu obtiens des résultats inattendus parce que tu ne tiens pas compte du fait qu'elle ignore les majuscules. CHERCHE("excel"; "EXCEL") retourne 1, alors que TROUVE donnerait une erreur.
Solution : Si tu as besoin de distinguer majuscules et minuscules, utilise TROUVE à la place. Sinon, CHERCHE est généralement plus pratique car elle est plus permissive.
Erreur #VALEUR! avec un paramètre no_départ invalide
Si tu mets un no_départ supérieur à la longueur du texte (par exemple =CHERCHE("a"; "Excel"; 10) sur un texte de 5 caractères), ou un nombre négatif ou zéro, CHERCHE renvoie #VALEUR!.
Solution : Vérifie que ton no_départ est bien entre 1 et la longueur du texte. Utilise NBCAR pour calculer la longueur si nécessaire : =SI(CHERCHE(x; A1)<=NBCAR(A1); CHERCHE(x; A1); "introuvable").
CHERCHE vs TROUVE vs STXT vs GAUCHE vs DROITE
Prends CHERCHE quand la casse t'est égale ou que tu veux des jokers * et ? ; bascule sur TROUVE dès que distinguer majuscules et minuscules compte, car elle seule est sensible à la casse (et refuse les jokers). CHERCHE et TROUVE te donnent une position, jamais le texte : c'est STXT, GAUCHE ou DROITE qui font l'extraction une fois la position connue. GAUCHE et DROITE partent d'un bord fixe ; STXT démarre où tu veux, donc en plein milieu.
| Critère | CHERCHE | TROUVE | STXT | GAUCHE | DROITE |
|---|---|---|---|---|---|
| Fonction | Trouve position | Trouve position | Extrait texte | Extrait texte | Extrait texte |
| Sensible à la casse | ❌ Non | ✅ Oui | N/A | N/A | N/A |
| Caractères joker | ✅ Oui | ❌ Non | N/A | N/A | N/A |
| Position flexible | ✅ Oui | ✅ Oui | ✅ Oui | ❌ Début fixe | ❌ Fin fixe |
| Meilleur pour | Recherche générale | Recherche précise | Extraction milieu | Extraction début | Extraction fin |
Astuces avancées avec CHERCHE
Extraire ce qui est entre deux caractères
Pour extraire le texte entre parenthèses, combine deux CHERCHE : =STXT(A1; CHERCHE("("; A1)+1; CHERCHE(")"; A1)-CHERCHE("("; A1)-1). La première CHERCHE localise l'ouverture, la seconde l'accolade fermante, et STXT extrait exactement ce qui est dedans.
La même logique s'applique à tout délimiteur paire (crochets, chevrons, guillemets doubles).
Trouver la deuxième occurrence avec no_départ
CHERCHE trouve toujours la première occurrence. Pour la deuxième, imbrique deux CHERCHE : =CHERCHE("-"; A1; CHERCHE("-"; A1)+1). La CHERCHE intérieure trouve le premier tiret, +1 fait avancer d'une position, et la CHERCHE extérieure repart de là.
Cette technique se chaîne autant de fois que nécessaire pour atteindre la Nième occurrence.
Protéger la formule avec SIERREUR
Quand une liste comporte des entrées sans le caractère cherché (emails sans @, codes sans tiret), CHERCHE renvoie #VALEUR! qui se propage dans les calculs suivants. Enrober avec SIERREUR(...; "") ou SIERREUR(...; 0) absorbe silencieusement les absences.
Choisis 0 si le résultat de CHERCHE alimente un calcul arithmétique, "" si c'est une extraction de texte.
Questions fréquentes sur la fonction CHERCHE
Quelle est la différence entre CHERCHE et TROUVE ?
CHERCHE n'est pas sensible à la casse : elle traite "excel", "Excel" et "EXCEL" de la même façon. TROUVE, elle, est sensible à la casse et distingue les majuscules des minuscules.
Utilise CHERCHE quand tu veux trouver un texte sans te soucier de la casse (c'est généralement plus pratique). Utilise TROUVE quand la casse compte, par exemple pour repérer une abréviation précise dans un texte.
Peut-on utiliser des caractères joker avec CHERCHE ?
Oui. CHERCHE accepte deux caractères joker : * (astérisque) pour remplacer n'importe quel nombre de caractères, et ? (point d'interrogation) pour remplacer un seul caractère.
Par exemple, =CHERCHE("ex*"; A1) trouvera "excel", "exemple", "expert", etc. TROUVE n'accepte pas les jokers, c'est l'une des principales différences entre les deux fonctions.
Comment gérer l'erreur quand CHERCHE ne trouve pas le texte ?
Si le texte cherché n'existe pas, CHERCHE retourne #VALEUR!. Pour gérer ce cas proprement, utilise SIERREUR : =SIERREUR(CHERCHE("@"; A1); "Email non valide").
Ainsi, tu obtiens un message personnalisé au lieu d'une erreur. Si tu veux une valeur numérique (pour un calcul ensuite), utilise 0 : =SIERREUR(CHERCHE("@"; A1); 0).
Comment trouver la dernière occurrence d'un caractère ?
CHERCHE trouve toujours la première occurrence. Pour trouver la dernière, la technique classique consiste à imbriquer des CHERCHE successives en utilisant le paramètre no_départ.
Pour une approche plus robuste, tu peux utiliser SUBSTITUE pour remplacer la dernière occurrence par un caractère unique, puis chercher ce caractère avec CHERCHE ou TROUVE.
CHERCHE fonctionne-t-elle avec des nombres ?
Oui, CHERCHE peut chercher des chiffres dans un texte. Par exemple, =CHERCHE("2"; "A2B3C4") retournera 2. Excel convertit automatiquement les nombres en texte pour la recherche.
C'est utile pour trouver des codes ou des numéros dans des chaînes mixtes, ou pour vérifier qu'un code commence bien par un chiffre précis.
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

