La fonction SI d’Excel ne gère pas nativement la recherche partielle dans une chaîne de caractères. Pour tester si une cellule contient un mot ou un fragment de texte, il faut combiner SI avec d’autres fonctions. Plusieurs méthodes coexistent, et le choix dépend directement de la version d’Excel utilisée, un paramètre que la plupart des tutoriels survolent.
Pourquoi la fonction SI seule ne suffit pas pour tester « contient »
La fonction SI évalue une condition logique : elle compare une valeur à une autre et renvoie un résultat selon que le test est VRAI ou FAUX. Quand on écrit =SI(A1="Paris";"Oui";"Non"), Excel vérifie si la cellule A1 est strictement égale à « Paris ».
A découvrir également : Pourquoi utiliser des outils collaboratifs ?
Le problème apparaît dès qu’on travaille avec des données réelles. Une cellule contenant « 8 rue Victor Hugo – Paris » ne sera jamais égale à « Paris ». SI compare des valeurs exactes, pas des fragments de texte. Pour détecter la présence d’un mot à l’intérieur d’une chaîne, il faut une fonction intermédiaire capable de localiser ce mot, puis transmettre le résultat à SI.
Certaines fonctions Excel acceptent les caractères génériques (l’astérisque *, le point d’interrogation ?) pour faire des recherches partielles. NB.SI et SOMMEPROD en font partie. En revanche, SI ne les reconnaît pas. C’est cette limitation qui oblige à imbriquer plusieurs fonctions.
A voir aussi : Qu'est-ce que l'administration du courrier électronique ?
Formule SI contient avec CHERCHE et ESTNUM dans Excel
La méthode la plus répandue repose sur la combinaison de trois fonctions : CHERCHE, ESTNUM et SI. Voici la logique :
- CHERCHE(« mot »;cellule) renvoie la position du mot trouvé dans la cellule, ou une erreur #VALEUR! si le mot est absent
- ESTNUM() teste si le résultat de CHERCHE est bien un nombre (donc que le mot a été trouvé) et renvoie VRAI ou FAUX
- SI() exploite ce VRAI/FAUX pour afficher le résultat souhaité
La formule complète ressemble à ceci :
=SI(ESTNUM(CHERCHE("Paris";B3));"Trouvé";"Non trouvé")
CHERCHE ne distingue pas les majuscules des minuscules. Taper « paris » ou « PARIS » donnera le même résultat. Pour une recherche sensible à la casse, il faut remplacer CHERCHE par TROUVE, qui respecte strictement la typographie.

Cette formule fonctionne dans toutes les versions d’Excel depuis au moins Excel 2007. C’est sa principale force : elle ne pose aucun problème de compatibilité, même sur des fichiers partagés entre collègues utilisant des versions différentes.
Adapter la formule à plusieurs critères
Quand on veut tester la présence de deux mots distincts, on imbrique les conditions avec des opérateurs ET ou OU :
=SI(ET(ESTNUM(CHERCHE("Paris";B3));ESTNUM(CHERCHE("Hugo";B3)));"Les deux présents";"Incomplet")
Au-delà de deux ou trois critères, cette approche devient difficile à lire et à maintenir. Les formules s’allongent, les parenthèses s’accumulent, et le risque d’erreur augmente à chaque modification.
REGEXTEST : la nouvelle approche pour tester si une cellule contient un motif
Les versions récentes de Microsoft 365 intègrent une fonction qui change la donne pour les recherches de texte. REGEXTEST évalue directement si un texte correspond à un motif et renvoie VRAI ou FAUX, sans passer par CHERCHE ni ESTNUM.
La syntaxe est plus directe :
=SI(REGEXTEST(B3;"Paris");"Trouvé";"Non trouvé")
L’intérêt réel de REGEXTEST dépasse la simple recherche d’un mot. Les expressions régulières permettent de détecter des formats structurés : un code postal à cinq chiffres, une référence produit commençant par deux lettres suivies de quatre chiffres, une adresse e-mail. Ce type de vérification était auparavant impossible sans recourir à du VBA.
En revanche, REGEXTEST n’est pas disponible dans Excel 2016, 2019 ni Excel 2021. Son déploiement dépend du canal de mise à jour Microsoft 365 utilisé. Concrètement, une formule contenant REGEXTEST peut fonctionner sur un poste et afficher l’erreur #NOM? sur un autre au sein de la même équipe. Avant d’adopter cette fonction dans un fichier partagé, il faut vérifier que tous les utilisateurs disposent d’une version compatible.
Filtres textuels Excel : tester « contient » sans formule
Tous les cas d’usage ne nécessitent pas une formule. Quand l’objectif est simplement de filtrer une liste pour isoler les lignes contenant un terme, les filtres natifs d’Excel suffisent.
Dans l’onglet Accueil, la commande Filtrer ajoute des menus déroulants en tête de colonne. En sélectionnant « Filtres textuels » puis « Contient », on saisit le terme recherché et Excel masque les lignes qui ne correspondent pas. Cette fonctionnalité est disponible dans toutes les versions, y compris Excel pour le web.
Le filtre ne crée pas de colonne de résultat calculé. Il agit sur l’affichage, pas sur les données. Pour un rapport automatisé ou un tableau de bord, une formule reste nécessaire. Pour un tri ponctuel, le filtre évite de manipuler des fonctions imbriquées.

Quelle méthode choisir selon la version d’Excel
Le choix entre ces approches dépend de deux facteurs : la version d’Excel et la complexité du motif recherché.
- CHERCHE + ESTNUM + SI convient à toutes les versions et couvre la majorité des besoins courants (recherche d’un mot, d’un code, d’un fragment)
- REGEXTEST + SI s’adresse aux utilisateurs Microsoft 365 qui doivent valider des formats structurés (références, codes postaux, patterns complexes)
- Les filtres textuels répondent aux besoins ponctuels de tri, sans calcul persistant
- Pour rechercher plusieurs mots simultanément, les fonctions de tableau dynamique comme TEXTSPLIT ou FILTER (Microsoft 365 et Excel 2024) offrent une alternative aux SI imbriqués, mais ne fonctionnent pas dans les versions antérieures
La compatibilité entre versions reste le point le plus sous-estimé. Un fichier conçu avec des fonctions récentes et ouvert dans Excel 2019 affichera des erreurs sans explication claire pour l’utilisateur. Documenter la version minimale requise dans le fichier lui-même (un onglet « Notes » ou un commentaire en cellule) évite des heures de débogage inutiles.

