Inscrire "1" dans une cellule si mot dans une autre cellule

Résolu
zakintosh -  
 Zakintosh -
Bonjour,
Je cherche une fonction me permettant de noter "1" (sinon 0) dans une cellule si une autre cellule comprend au moins l'un des mot suivants: sacoches, topbag, SAD, SAB, affaires, sac, SAM.
J'ai essayé avec:
=SI(OU(I2="sacoche";I2="topbag";I2="SAD";I2="SAB";I2="affaires";I2="sac";I2="SAM");"1";"0")
Problème:
Cette dernière ne fonctionne que si la cellule ne contient qu'un mot, car en effets, la cellule dans laquelle je cherche l'un de ces mots est susceptible de comprendre une suite de mots/caractères (parfois pas dans la liste que je recherche)
exemple: "sac à la main" ou encore: sacoche + PBE
Merci par avance!

6 réponses

DjiDji59430 Messages postés 4253 Date d'inscription   Statut Membre Dernière intervention   700
 
Bonjour,

Au lieu d'écrire I2="sacoche", tu mets cherche("*sacoche*";I2

Crdmt
0
zakintosh
 
Merci, mais je n'arrive pas à faire fonctionner cette fonction. Comment l'écrire quand il y a plusieurs mots à chercher?
Merci
0
DjiDji59430 Messages postés 4253 Date d'inscription   Statut Membre Dernière intervention   700
 
c'est pour mettre dans ton si, a la place des I2=

exemple :
cherche("*sac*";i2) va trouver "sac a main", ou bien "sac en cui"r, ou bien "trés grand sac" ;, et meme sacoche
0
francki130 > DjiDji59430 Messages postés 4253 Date d'inscription   Statut Membre Dernière intervention  
 
acces rapide
0
fred
 
Bonjour zakintosh,

Je te propose cette formule :

=SI(NB.SI(I2;"*sacoche*")+NB.SI(I2;"*topbag*")+NB.SI(I2;"*SAD*")+NB.SI(I2;"*SAB*")+NB.SI(I2;"*affaires*")+NB.SI(I2;"*sac*")+NB.SI(I2;"*SAM*")>0;1;0)

Cordialement
 
0
zakintosh
 
Merci fred, mais malgré les **, le résultat n'est pas le bon dans les cas où il y a d'autres caractères dans ma cellule. Il m'affiche "0" dans ce cas. Je ne comprends pas pourquoi.
0
zakintosh
 
Yahou! J'ai utilisé ta fonction en rajoutant un point avant chaque * et ça fonctionne. Ça donne:

=SI(NB.SI(I2;".*sacoche.*")+NB.SI(I2;".*topbag.*")+NB.SI(I2;".*SAD.*")+NB.SI(I2;".*SAB.*")+NB.SI(I2;".*affaires.*")+NB.SI(I2;".*sac.*")+NB.SI(I2;".*SAM.*")>0;1;0)

Alors Je sais pas trop pourquoi ce petit point fonctionne, mais j'ai vérifié sur une 10ène de cellules et les résultats sont ok.
Merci!
0
fred > zakintosh
 
 
J'ai compris quelle est l'explication du point devant * :

1) Sur Excel, * est le joker * qui signifie « tous les caractères » ; avec la fonction
CHERCHE(), pour trouver le caractère * lui-même, on doit mettre : ~*

2) Sur ton OpenOffice, c'est l'inverse : avec *sacoche* ça cherchait exactement
ce texte-là : une étoile sacoche une étoile ; avec .* c'est où ton caractère *
devient le joker * : ça cherche le mot sacoche avec des caractères avant ou
après ; remarque : je n'utilise pas OpenOffice.  ;)

Merci d'avoir passé le sujet en résolu.
 
0
Zakintosh
 
Merci fred!
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
peut être plus court ici (pour la 1° colonne avec formule, la deuxième est en prime)
crdlmnt
https://mon-partage.fr/f/wwc95rVS/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zakintosh
 
Merci à tous, je crois que je me suis un peu piégé tout seul en utilisant OpenOfficeCalc pour faire mes calculs... Car par exemple la fonction de Vaucluse fonctionne mais uniquement si je l'ouvre sur Excel. Maintenant je ne sais pas si je persiste à trouver une fonction qui me donne un résultat sur ODS ou si je transpose mes milliers de données sur Excel...
0
zakintosh
 
RESOLU avec la fonction:

=SI(NB.SI(I2;".*sacoche.*")+NB.SI(I2;".*topbag.*")+NB.SI(I2;".*SAD.*")+NB.SI(I2;".*SAB.*")+NB.SI(I2;".*affaires.*")+NB.SI(I2;".*sac.*")+NB.SI(I2;".*SAM.*")>0;1;0)

(ce petit point avant les astérisques est-il une spécificité d'OpenOffice? en tous cas il fait que ça fonctionne)
0
fred
 
Bonjour zakintosh,
Même si je n'utilise pas OpenOffice, je pense avoir trouvé une explication du .*
https://forums.commentcamarche.net/forum/affich-34809108-inscrire-1-dans-une-cellule-si-mot-dans-une-autre-cellule#10
Merci d'avoir passé le sujet en résolu.
0