Si partie cellule contient mot parmi une liste

Résolu/Fermé
Signaler
-
 Coco -
Bonjour à tous les inconditionnels d'excel, cet outil magique,

J'ai une question existentielle sur laquelle je bloque depuis quelques heures, sans trouver de réponse satisfaisante sur Internet.

Je m'explique:
Sur une case B1, j'ai un long texte. Je souhaite savoir si ce texte contient l'un des mots figurant dans la liste de mot D1:D10.

Par exemple si B1 contient "Bonjour, je m'appelle Coco, je suis venu exposer mon problème sur excel"
et sur D1:D10 j'ai "déménager", "courroie", "traduire", "basket", "étriquer", "assommoir", "problème", "verbe", ...
Cela me sorte VRAI;

alors que si sur D1:D10 j'ai "déménager", "courroie", "traduire", "basket", "étriquer", "assommoir", "rasoir", "verbe", ...
Cela me sorte FAUX


Autre exigence: la formule serait placée en C1, pour pouvoir être copiée vers le bas pour vérifier aussi la condition sur B2, B3, ...


Comment faire?
Est-ce clair?

2 réponses

Messages postés
13330
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
16 janvier 2022
2 322
Bonjour

Une possibilité :
En E1 mettre la formule :
=NB.SI($B$1;"*"&D1&"*")
et l’étirer jusqu'en E10
Lorsque le mot existe la formule renvoie 1 (ou 2 si le mot est présent 2 fois), 0 autrement

Cdlmnt
Via
0
Merci pour votre prompte réponse.

En revanche, l'idée serait d'obtenir une formule unique pour B1, qui pourrait être recopiée vers le bas pour B2, B3... sans avoir à créer pour chaque case B une nouvelle colonne à droite de D.
0
Messages postés
26386
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 janvier 2022
6 177
Bonjour
voyez ici si ça peut correspondre à ce que vous cherchez
https://mon-partage.fr/f/CNNYx8Vd/
crdlmnt
0
Merci Vaucluse, ça à l'air de pas mal marcher. Bon l'idéal serait que ce soit transposable sur plusieurs fichier, et destiné à être utilisé par des gens qui ne maîtriseraient pas forcément la création de fonction, du coup même si ça marche parfaitement, ce n'est toujours pas ma perle rare attendue :/

En tout cas merci beaucoup d'avoir pris le temps, et ça me sera surement utile dans des projets VBA futurs en tout cas :D
0
Messages postés
13330
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
16 janvier 2022
2 322
Re,
amical salut Vaucluse ☺,

Ou bien avec une fonction personnalisée
https://mon-partage.fr/f/LdxrkXKY/

Cdlmnt
Via
0
Parfait via55, un grand merci!

=SOMMEPROD((NB.SI(A2;"*"&$F$2:$F$20&"*")))

Magnifique, c'est tout ce qu'il me fallait, je n'avais pas pensé à insérer un sommeprod pour prendre en compte l'ensemble de la plage!
J'exulte, merci :D
0
Messages postés
26386
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
15 janvier 2022
6 177
Et pouvez vous dire quelle solution vous avez utilisée, au final?
à vous lire
0
Le sommeprod nb.si, couplé de deux equiv car les lignes de début et de fin de la plage dépendaient également d'un montant situé sur une autre colonne, c'est un peu barbare mais ça fonctionne parfaitement :)
0