Excel : Vérifier Si Une Cellule Contient Un Texte Ou Un Mot

Temps de lecture : 6 minutes

Il existe plusieurs façons de déterminer si une cellule Excel contient un mot, un texte specifique ou même un caractère spécifique, à l’aide des fonctions Excel : CHERCHE, TROUVE en combinaison avec ESTNUM ; ou NB.SI en combinaison avec l’opérateur logique d’égalité (=).

Nous verrons dans cet article comment utiliser chacune de ces fonctions dans cette optique.

Par ailleurs, ces combinaisons pourront ainsi être utilisées à l’intérieur d’une fonction SI pour répondre à la condition « si cellule contient du texte, alors… » ou « si cellule contient tel mot, alors… ».

Verifier si une cellule Excel contient un mot avec CHERCHE, TROUVE et NB.SI
Verifier si une cellule Excel contient un mot avec CHERCHE, TROUVE et NB.SI

Telle que définie dans Excel, la Fonction CHERCHE « renvoie le numéro du caractère au niveau duquel est trouvé un caractère ou le début d’une chaîne de caractères, en lisant de la gauche à droite (pas de distinction entre majuscules et minuscules). »

La fonction CHERCHE prend trois arguments:

  • Texte cherché : Il s’agit du texte à trouver, cela peut être une lettre, une chaîne de caractère ou un wildcard (* ou ?) – passé directement en argument ou via une référence à une cellule.
  • Texte : Il s’agit du texte, direct ou en référence à une cellule, dans lequel la recherche sera effectuée.
  • Numéro Départ : Cet argument est optionnel puisque défini par défaut à 1. Il s’agit de l’emplacement en nombre de caractères à partir duquel la recherche doit commencer, la partie précédente sera ignorée.
=CHERCHE(Texte cherché; Texte; Numéro Départ)

Le résultat de cette fonction sera le numéro correspondant à l’emplacement (numéro) du caractère (ou du début de la chaîne de caractère) si le texte cherché est trouvé, si le texte cherché n’est pas trouvé, alors le résultat sera une erreur « #VALEUR! ».

Ainsi, puisque l’on cherche à déterminer si un texte contient un mot, il sera utile de combiner la fonction CHERCHE avec la fonction ESTNUM qui « contrôle si la valeur est un nombre et renvoie VRAI ou FAUX ».

Si le texte cherché dans la fonction CHERCHE est trouvé, le résultat sera un nombre, qui contrôlé à son tour par la fonction ESTNUM retournera « VRAI ».

Si le texte n’est pas trouvé, alors la fonction CHERCHE renverra une erreur « #VALEUR! », qui à son tour controlée par la fonction ESTNUM retournera « FAUX ».

=ESTNUM(CHERCHE(Texte cherché; Texte; Numéro Départ))

L’utilisation de la fonction CHERCHE permet d’ignorer les Majuscules/Minuscules du texte cherché. Si l’on souhaite prendre en compte la casse, alors on utilisera la fonction TROUVE décrite dans la section suivante.

Avec la Fonction TROUVE (FIND)

D’après la définition dans Excel, la fonction TROUVE « renvoie la position de départ d’une chaîne de texte à l’intérieur d’une autre chaîne de texte. TROUVE distingue les majuscules et les minuscules. »

La Fonction TROUVE prend trois arguments, (identiques à ceux de la fonction CHERCHE à la distinction que les Wildcard ne sont pas autorisés) :

  • Texte cherché : Il s’agit du texte à trouver, cela peut être une lettre, une chaîne de caractère.
  • Texte : Il s’agit du texte, direct ou en référence à une cellule, dans lequel la recherche sera effectuée.
  • Numéro Départ : Cet argument est optionnel puisque défini par défaut à 1. Il s’agit de l’emplacement en nombre de caractères à partir duquel la recherche doit commencer, la partie précédente sera ignorée.
=TROUVE(Texte cherché; Texte; Numéro Départ)

Ici encore, le résultat de cette fonction sera le numéro correspondant à la position de départ du caractère (ou du début de la chaîne de caractère) si le texte cherché est trouvé, et si le texte cherché n’est pas trouvé, le résultat sera là aussi une erreur « #VALEUR! ».

De la même façon qu’avec la fonction CHERCHE, puisque l’on cherche à déterminer si un texte contient un mot, on combinera la fonction TROUVE à l’intérieur de la fonction ESTNUM qui « contrôle si la valeur est un nombre et renvoie VRAI ou FAUX ».

Si le texte cherché dans la fonction TROUVE est trouvé, le résultat sera un nombre, qui contrôlé à son tour par la fonction ESTNUM retournera « VRAI ».

Si le texte n’est pas trouvé, alors la fonction TROUVE renverra une erreur « #VALEUR! », qui à son tour controlée par la fonction ESTNUM retournera « FAUX ».

=ESTNUM(TROUVE(Texte cherché; Texte; Numéro Départ))

L’utilisation de la fonction TROUVE permet de considérer les Majuscules/Minuscules du texte cherché.

Différences entre CHERCHE et TROUVE

Bien que semblables dans leurs arguments et valeur de retour, on distinguera les différences suivantes entre les fonctions CHERCHE et TROUVE : 

  • La fonction CHERCHE ne prend pas en compte les Minuscules/Majuscules dans sa recherche ; tandis que la fonction TROUVE considérera la différence de casse.
  • La fonction CHERCHE permet l’utilisation des Wildcard/caractères génériques « * » et « ? » tandis que la fonction TROUVE les considérera directement comme des caractères à rechercher.

Avec la Fonction NB.SI (COUNTIF)

La fonction NB.SI « détermine le nombre de cellules non vides  répondant à la condition à l’intérieur d’une plage. »

Ce n’est pas la fonction la plus intuitive pour déterminer si un mot se trouve au sein d’un texte mais cela est tout à fait possible en l’utilisant sur une seule cellule et en jouant avec le format de la condition.

La fonction NB.SI prend deux arguments : 

  • Plage : Correspond à la plage de cellules pour laquelle on souhaite compter le nombre de cellule qui remplissent la condition « critère »
  • Critère : Est la condition à remplir pour que la cellule de la plage soit comptée.
=NB.SI(Plage; Critère)

Les Wildcard « * » et « ? » étant acceptées au sein du critère, on peut alors utiliser la fonction NB.SI avec pour plage une unique cellule et pour critère le mot ou la lettre recherché entouré de « * ». 

Ainsi, si le mot cherché est trouvé, la fonction retournera 1, dans le cas contraire, la fonction retournera 0. Sachant cela, on peut utiliser une égalité pour comparer le résultat et obtenir un booléen « VRAI » ou « FAUX » en retour.

=NB.SI(Plage; Critère) = 1

Déterminer si une cellule contient un texte spécifique avec CHERCHE, TROUVE et NB.SI : Exemples

Pour finir, illustrons les trois manières de déterminer si une cellule Excel contient un caractère ou une chaîne de caractère à travers 5 exemples comparatifs pour chaque fonction.

Dans les exemples si dessous, on cherche à déterminer si un identifiant ISIN (Colonne C : le texte dans lequel on cherche) contient le texte cherché (Colonne D), le résultat est donné sous forme booléen VRAI/FAUX (Colonne E).

Pour tous les exemples de NB.SI, on notera la nécessité de constamment utiliser le caractère « * » pour entourer le texte cherché. On mettra « * » avant et après le texte cherché. Sauf si l’on souhaite que le caractère soit trouvé en début (dans ce cas uniquement « * » après le texte cherché) ou à la fin (dans ce cas uniquement « * » avant le texte cherché).

Exemples : CHERCHE, TROUVE et NB.SI
Exemples : CHERCHE, TROUVE et NB.SI

1. Exemples 1, 6 et 11 : Même format Minuscules/Majuscules

Dans ces exemples, pour chaque fonction on cherche à déterminer si « FR0000131104 » contient « FR ».

C’est effectivement le cas et le format de Majuscules est identique, chaque fonction retourne donc le résultat « VRAI ».

2. Exemples 2, 7 et 12 : Minuscules/Majuscules différentes

Exemple identique au précédent mais cette fois ci le format Minuscules/Majuscules est différent dans le texte cherché : on cherche « fr » dans « FR0000131104 ». Les fonctions CHERCHE et NB.SI qui ne considèrent pas la casse du texte retourne le résultat « VRAI », tandis que la fonction TROUVE considère « FR » et « fr » comme différents et renvoie donc le résultat « FAUX ».

3. Exemples 3, 8 et 13 : Le Texte n'est présent

Ici on cherche « FR » dans « US1729674242 », il n’y a donc aucune correspondance, chaque fonction renverra donc « FAUX ».

4. Exemples 4, 9 et 14 : Un caractère au milieu du texte

Dans cet exemple on cherche un caractère unique dans « US1729674242 ». La caractère « 1 » étant bien présent chaque fonction renvoie le résultat « VRAI ».

5. Exemples 5, 10 et 15 : Le caractère *

Pour finir, on utilise le caractère générique « * » qui correspond à n’importe quel caractère et quel nombre de caractère.

La fonction TROUVE considère en revanche ce caractère tel qu’il est et cherchera donc « * » dans « US1729674242 », puisqu’il ne s’y trouve pas, le résultat sera « FAUX ».

Pour CHERCHE et NB.SI, on cherche donc n’importe quel caractère dans « US1729674242 », bien évidemment le résultat est « VRAI ».

Partager :

9 Réponses à “Excel : Vérifier Si Une Cellule Contient Un Texte Ou Un Mot”

  1. Bonjour, je cherche une formule pour effectuer le calcul suivant :
    si la cellule A1 contient le mot TOMATE, alors on fait B1/100, sinon si la cellule A1 contient le mot CONCOMBRE, alors on fait B1/150, sinon on fait B1/250. (aucune cellule A1 ne peut à la fois contenir TOMATE ET CONCOMBRE, c’est soit l’un, soit l’autre, soit aucun des 2)

    J’ai parcouru pas mal de pages, essayé plusieurs type de formule, mais je sèche…
    Merci !

    1. Bonjour,
      La logique sera d’utiliser la fonction SI(Condition testée; Résultat si VRAI; Résultat si FAUX), que l’on peut elle-même imbriquer, tel que [SI, ALORS, SINON[SI, ALORS, SINON]]

      =SI(ESTNUM(CHERCHE("TOMATE"; A1)); B1/100; SI(ESTNUM(CHERCHE("CONCOMBRE"; A1)); B1/150; B1/250))

  2. Bonjour, je dois gérer dans le cadre de mon travail les plannings des salariés (60). Nous travaillons pour le moment sous Excel sous forme de calendrier annuel où figurent les horaires journaliers et je perds un temps précieux à préparer chaque année les calendriers de chacun qui n’ont évidement pas les mêmes horaires.

    colonne B : chiffre correspondant au jour du mois
    colonne C + F et d’autres colonnes : lettre correspondant au jour (L ou Ma ou Me ou J ou V)
    colonne D + G et d’autres colonnes : nombre d’heures à réaliser journalier

    Je souhaiterai gagner du temps avec une formule qui stipule que toute cellule située à côté de la lettre « L » correspondant au lundi doit être 7.25 et idem pour « Ma » = 9.25 etc
    afin de créer des cellules « type ».

    B C D E F G

    JANVIER FEVRIER
    1 D 0 1 Me 7.25
    2 L 7.25 2 J 7.25
    3 Ma 9.25 3 V 6.00
    4 Me 7.25 4 S 0
    5 J 7.25 5 D 0
    6 V 6.00 6 L 7.25

    Dommage, je n’arrive pas à joindre mon screen.

    Je tente des formules en vain…
    Mille mercis par avance.

    Corinne

Laisser un commentaire