[EXCEL] Comment tester si une chaine de caractères contient une autre chaine

Petite problématique du jour avec Excel, ou l’on m’a demandé de lister toutes les cellules qui contenait une chaine de caractères spécifique.
Nous allons donc voir comment écrire une formule Excel qui va nous permettre d’afficher une valeur dans une cellule indiquant la présence ou non d’une chaine de caractères dans une chaine d’une autre cellule.

Pour écrire cette formule, et donc faire cette recherche, trois fonctions Excel sont nécessaires:

  • CHERCHE
  • ESTERREUR
  • SI

Recherche presence chaine Excel
Recherche de chaine dans Excel
  • CHERCHE va renvoyer la position de la 1ère chaine dans la seconde si cette chaine contient la première. Si la première chaine n’est pas trouvée la fonction renvoie l’erreur « #valeur!« 
  • ESTERREUR teste si la valeur retournée pour une fonction Excel (ici CHERCHE) est une erreur ou non et renvoie un booléen
  • SI est une fonction if classique qui en fonction d’un booléen (vrai ou faux ici renvoyé par ESTERREUR) va nous permettre d’afficher une valeur ou une autre.

La formule de recherche de texte

Il nous faut donc écrire le code suivant:

=SI(ESTERREUR(CHERCHE("chaine à chercher";N° Cellule));"non";"oui")

Exemple:
L’exemple suivant va vérifier si la chaine de caractères contenue dans la cellule A6 de la feuille en cours contient le texte « chaine à chercher ».
Si c’est le cas la valeur « oui » apparaitra dans la cellule dans laquelle est copiée la formule.
Sinon ce sera la valeur « non ».

=SI(ESTERREUR(CHERCHE("chaine à chercher";A6));"non";"oui")


Menu office, excel tester chaine caracteres contient
Logo Excel

Voilà j’espère que cette formule vous a été utile. Si vous trouvez un moyen de l’améliorer n’hésitez surtout pas à m’en faire part. Et sinon, pour aller plus loin avec votre tableur Office je vous conseille ces lectures :

Mot-clé principal : Excel tester chaine caracteres contient

Mots clefs liés à cet article:

  • excel contient
  • contient excel
  • excel si contient
  • excel chaine contient
  • excel contient chaine
  • fonction contient excel
  • excel chaine de caractere contient
  • excel contient chaine de caractere
  • fonction excel contient
  • excel formule contient

17 commentaires sur « [EXCEL] Comment tester si une chaine de caractères contient une autre chaine »

  1. Merci pour cette formule permettant de tester la présence ou non d’une chaîne de caractères dans une cellule.
    Elle est très utile.
    Cordialement.

  2. Bonjour,

    Je cherche à trouver si un des caractères d’une chaine se trouve ou non dans une autre, est ce possible ?

    Ex : si je trouve un des caractères de « ghijklmnopqrstuvwxyz » dans « 00-ff-aa-bb-11-00 » je sais alors que cette dernière n’est pas hexadécimale (je ne peux pas utiliser la fonction hexdec, la valeur hexa fait plus de dix caractères héxa).

    Merci

    Patrice

  3. Bonjour Patrice,

    Une solution consiste a décomposer votre chaine (ici par rapport au signe – ) et a tester chacune des valeurs avec HEXDEC.
    (la formule risque d’etre un peu longue pour que ce soit generique….)

    Sinon le plus simple serait de passer par du VBA.

  4. bonjour

    j’ai 3 cellules contiens des nombre :
    par exemple :
    3
    2
    1+2,5

    dans la 4 cellules je veux faire la somme des 3 cellules merci .

  5. Bonjour Abdouel,

    Ta question n’a pas de rapport avec l’article…
    Pour infos, sous excel pour faire une somme il faut utiliser la fonction Somme.

  6. Bonjour
    J’ai essayé de procéder selon vos instructions mais je n’y arrive pas

    En colonne A, j’ai toute une série d’information
    en colonne B, je souhaite indiquer Adulte ou Enfant en fonction du contenu de la colonne A
    En colonne C, je souhaite indiquer Journée Mois Semaine souhaite en fonction du contenu de la colonne A

    Merxi de votre aide

    A B C
    Adulte Journée Adulte Journée
    Adulte Mois Adulte Mois
    Adulte Semaine Adulte Semaine
    Enfant Journée Enfant Journée
    Enfant Mois Enfant Mois
    Enfant Semaine Enfant Semaine

  7. Bonjour Jigg,

    Je viens de faire le test avec Excel 2013 et la formule suivante fonctionne tres bien :
    =SI(ESTERREUR(CHERCHE(« Journée »;A1)); »Semaine »; »Journée »)
    Dans la cellule A1 j’ai écrit : Adulte Journée.
    En copiant la formule ci dessus dans la cellule B1, j’obtiens bien ‘Adulte’

  8. Bonjour,
    je souhaitre faire une recherche par rapport à des nom , prénom , Tel …. dans une feuille différente (même classeur « janvier 2019 »).
    =INDEX(‘Janvier 2019′!C:L;EQUIV(A3;’Janvier 2019’!F:F;0);1).
    dans cette formule l’objet saise doit correspondre à 100% par rapport à la feuille janvier 2019. hors cette feuille à plus de 1200 nom et je souhaite saisir une partie de charctère afin de pouvoir trouver la personne demandée.
    Ex: michel – michelle.
    Merci à vous

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.