Categories: ExcelOffice

[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 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")


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 :


Point d’intérêt de cet article :

Excel tester chaine caractères contient. CHERCHE, ESTERREUR, SI


Mots clefs liés à cet article:

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

View Comments

  • 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.

  • 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

  • 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.

  • Merci pour cette formule : c'est exactement ce que je cherchais ! C'est le ESTERREUR qui m'éclaire le plus.

    • De rien Goelano, si tu as des exemples d'utilisation de cette formule n’hésites pas a en parler ici :)

  • 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 .

    • 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.

  • 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

  • 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'

Share
Published by
adminArnaud

Recent Posts

[Agile] De l’importance d’écrire des taches claires pour vos User Stories

Dans le monde de l'agilité, le Product Owner se doit d'écrire des user stories simples,… Read More

5 ans ago

[Actu] Printemps des poètes

Parce que, contrairement à ce que l'on pourrait penser ce soir qu'il pleut des cordes,… Read More

5 ans ago

[Actu] Élections présidentielles 2017

Un peu d’humour en attendant le résultat des élections présidentielles françaises. Read More

7 ans ago

[Linux] Activer/Désactiver l’UTC en ligne de commande

Si vous n'avez pas accès à l'interface graphique de votre Linux, vous pouvez modifier l'horloge… Read More

8 ans ago

[Actu] Ces fous qui attaquent Paris

Si quelqu'un m'avait dit en Janvier que je réécrirais un article dans l'année sur des… Read More

9 ans ago

[Actu] Fin des vacances, c’est la rentrée 2015 !

Il y a quelques semaines, mois, voire années (tout est subjectif) nos enfants (et nos… Read More

9 ans ago