Fonction IF + OR

Bonjour,

J'aimerais savoir comment je peux afficher dans une cellules un yes ou un non basé sur une condition.

Si La cellule contient la chaine "lock" ou "unlock" ou "lok" ou "unlock" ou "loc" ou "unloc" alors tu affiches "YES" sinon tu affiches "NO"

Sachant que les cellules ne contiennent des chaines constantes et que le Lock peut etre ecris en minuscules ou majuscules

ex : A1 : Lok XYZ -> YES

B1 : Can you unlock -> YES

C1 : please LOCK -> YES

D1 : Upload -> NO

Je pense que ça commece par =IF(FIND("Lock" OR "Lok";A1);"YES";"NO")

Mais ça marche po ! et je pense que ce type de formule fait attention au minuscule majuscule.

Merci pour votre aide !!

Bonsoir,

as tu penser a insérér OU OU OU

A +

Bonsoir,

à tester la présence de chaque chaine :

=SI(ESTNUM(TROUVE("lock";A2))+ESTNUM(TROUVE("unlock";A2))+ESTNUM(TROUVE("lok";A2))+ESTNUM(TROUVE("unlok";A2))+ESTNUM(TROUVE("loc";A2))+ESTNUM(TROUVE("unloc";A2));"yes";"no")

Essaye et dis nous

@+

essayes peut être

=IF(FIND(OR("Lock","Lok"),A1),"YES","NO")

Bonsoir,

souri84 a écrit :

essayes peut être

=IF(FIND(OR("Lock","Lok"),A1),"YES","NO")

La fonction OU ne fonctionne pas de cette façon, tu ne prends pas en compte "loc" et "unloc" et tu utilises des , pour séparer les arguments

Je crois pas que ça puisse beaucoup aider Moricette ...

Bonsoir,

thibo a écrit :

Bonsoir,

à tester la présence de chaque chaine :

=SI(ESTNUM(TROUVE("lock";A2))+ESTNUM(TROUVE("unlock";A2))+ESTNUM(TROUVE("lok";A2))+ESTNUM(TROUVE("unlok";A2))+ESTNUM(TROUVE("loc";A2))+ESTNUM(TROUVE("unloc";A2));"yes";"no")

Essaye et dis nous

@+

Ta formule fonctionne parfaitement

Voici quand même un petite simplification de celle-ci :

=SI(ESTNUM(TROUVE("lok";A2))+ESTNUM(TROUVE("loc";A2));"yes";"no")

Et la version minuscules/majuscules tout confondu :

=SI(ESTNUM(TROUVE("lok";MINUSCULE(A2)))+ESTNUM(TROUVE("loc";MINUSCULE(A2)));"yes";"no")

Cordialement,

heu moi j'utilise Excel anglais et j'ai pas les ";" pour les formules mais les ","...

et oui j'ai oublié de mettre la cellule:

=IF(FIND(OR(A2="Lock",A2="Lok"),A1),"YES","NO")

souri84 a écrit :

heu moi j'utilise Excel anglais et j'ai pas les ";" pour les formules mais les ","...

et oui j'ai oublié de mettre la cellule:

=IF(FIND(OR(A2="Lock",A2="Lok"),A1),"YES","NO")

ça ne marche pas !!! snif ...

3classeur2.xlsx (9.86 Ko)

et celle de Sébastien?

Sébastien a écrit :

Bonsoir,

thibo a écrit :

Bonsoir,

à tester la présence de chaque chaine :

=SI(ESTNUM(TROUVE("lock";A2))+ESTNUM(TROUVE("unlock";A2))+ESTNUM(TROUVE("lok";A2))+ESTNUM(TROUVE("unlok";A2))+ESTNUM(TROUVE("loc";A2))+ESTNUM(TROUVE("unloc";A2));"yes";"no")

Essaye et dis nous

@+

Ta formule fonctionne parfaitement

Voici quand même un petite simplification de celle-ci :

=SI(ESTNUM(TROUVE("lok";A2))+ESTNUM(TROUVE("loc";A2));"yes";"no")

Et la version minuscules/majuscules tout confondu :

=SI(ESTNUM(TROUVE("lok";MINUSCULE(A2)))+ESTNUM(TROUVE("loc";MINUSCULE(A2)));"yes";"no")

Cordialement,

Ben ça marche pas non plus !! snif mon excel est en anglais !!

souri84 a écrit :

=IF(FIND(OR(A2="Lock",A2="Lok"),A1),"YES","NO")

L'ennui avec cette formule est qu'elle ne recherche pas ces mots dans la cellule mais la cellule doit être exactement égale à ces mots.

Il y a une erreur dans l'utilisation de ta fonction CHERCHE(), etc.

Si je te fais ces remarques c'est pour souligner l'importance de les tester avant de les proposer à quelqu'un qui n'aura généralement pas le niveau pour les corriger ...

Cordialement,

Moricette a écrit :

Ben ça marche pas non plus !! snif mon excel est en anglais !!

Essaie :

=IF(ISNUMBER(FIND("lok";LOWER(A2)))+ISNUMBER(FIND("loc";LOWER(A2)));"yes";"no")

Bonjour

je pense que la formule de Sébastien, version anglaise est pour:

=SI(ESTNUM(TROUVE("lok";MINUSCULE(A2)))+ESTNUM(TROUVE("loc";MINUSCULE(A2)));"yes";"no")

=IF(ISNUMBER(FIND(("lok";LOWER((A2)))+ISNUMBER(FIND("loc";LOWWER(A2)));"yes";"no")

Cordialement

Rajout: Zut! j'avais sauté la page 2, mes excuses..

Sébastien a écrit :
Moricette a écrit :

Ben ça marche pas non plus !! snif mon excel est en anglais !!

Essaie :

=IF(ISNUMBER(FIND("lok";LOWER(A2)))+ISNUMBER(FIND("loc";LOWER(A2)));"yes";"no")

Merci Sébastien !!! ça marche !!! super super super !!!

c'est vrai, je ne teste pas forcément les formules... je m'y tiens dès aujourd'hui afin de ne proposer que de réels solutions...

A bientôt,

Souri84

Bonjour,

Après quelques recherches et essais, une autre solution à base de SOMMEPROD :

=SI(SOMMEPROD(ESTNUM(CHERCHE({"loc"\"lok"};A1))*1);"yes";"no")

à tester

@+

Bonjour,

Si je puis me permettre, deux petites remarques :

La fonction TROUVE fait la différence entre les minuscules et les majuscules, la fonction CHERCHE ne le fait pas.

On cherche une chaîne de caractères, donc si on cherche "loc", la fonction CHERCHE renverra la position du premier caractère pour loc, LOC, unloc, UNLOC, lock, LOCK, unlock et UNLOCK.

Pas besoin de répéter toutes ces possibilités.

Je mets un exemple en pièce jointe, ainsi la formule sera automatiquement traduite en anglais pour une version US.

https://www.excel-pratique.com/~files/doc/Moricette.xls

dré

Edition : salut thibo, je n'avais pas vu ton denrier message

Comme d'habitude, presque la même approche

Rechercher des sujets similaires à "fonction"