Excel Fonctions SI + OU
services15
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche à faire une formule qui soit du type:
Si cellule O4 contient mot1 ou mot2 ou mot3 alors afficher resultat1
sinon
si cellule O4 contient mot5 ou mot6 ou mot7 alors afficher resultat2
sinon
si cellule O4 contient mot9 ou mot10 ou mot11 alors afficher resultat3
sinon afficher "a vérifier"
Merci beaucoup de votre aide
J'ai cherché par moi meme mais je galère !!
(excel 2007 FRANCAIS)
Je cherche à faire une formule qui soit du type:
Si cellule O4 contient mot1 ou mot2 ou mot3 alors afficher resultat1
sinon
si cellule O4 contient mot5 ou mot6 ou mot7 alors afficher resultat2
sinon
si cellule O4 contient mot9 ou mot10 ou mot11 alors afficher resultat3
sinon afficher "a vérifier"
Merci beaucoup de votre aide
J'ai cherché par moi meme mais je galère !!
(excel 2007 FRANCAIS)
A voir également:
- Excel Fonctions SI + OU
- Si ou excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Déplacer colonne excel - Guide
30 réponses
Bonjour,
ta formule :
=si(Ou(O4="mot1";O4="mot2";O4="mot3")=vrai;"resultat1";si(Ou(O4="mot5";O4="mot6";O4="mot7")=vrai;"resultat1";si(ou(O4="mot9";O4="mot10";O4="mot11")=vrai;"resultat1";"a verifier")))
ta formule :
=si(Ou(O4="mot1";O4="mot2";O4="mot3")=vrai;"resultat1";si(Ou(O4="mot5";O4="mot6";O4="mot7")=vrai;"resultat1";si(ou(O4="mot9";O4="mot10";O4="mot11")=vrai;"resultat1";"a verifier")))
Salut !
je pense que c'est quelque chose qui ressemble à ça :
(j'appelle ta cellule 04 "A4")
=SI((A4="mot1")OU(A4="mot2")OU(A4="mot3");"resultat1";SI((A4="mot5")OU(A4="mot6")OU(A4="mot7");"resultat2";SI((A4="mot9")OU(A4="mot10")OU(A4="mot11");"resultat3";"a vérifier")))
je ne suis pas sure de la syntaxe des OU.
je pense que c'est quelque chose qui ressemble à ça :
(j'appelle ta cellule 04 "A4")
=SI((A4="mot1")OU(A4="mot2")OU(A4="mot3");"resultat1";SI((A4="mot5")OU(A4="mot6")OU(A4="mot7");"resultat2";SI((A4="mot9")OU(A4="mot10")OU(A4="mot11");"resultat3";"a vérifier")))
je ne suis pas sure de la syntaxe des OU.
Hello et merci !
ça ne fonctionne pas, excel propose comme correction des * avant chaque "ou"
=SI((O4="mot1")*OU(O4="mot2")*OU(O4="mot3");"resultat1";SI((O4="mot5")*OU(O4="mot6")*OU(O4="mot7");"resultat2";SI((O4="mot9")*OU(O4="mot10")*OU(O4="mot11");"resultat3";"a vérifier")))
Mais si les mots recherchés sont présent le résultat 1 2 ou 3 ne s'affichent pas, mais s'affiche "a vérifier" !
Donc ça ne donne pas le resultat escompté
Merci d'avance
ça ne fonctionne pas, excel propose comme correction des * avant chaque "ou"
=SI((O4="mot1")*OU(O4="mot2")*OU(O4="mot3");"resultat1";SI((O4="mot5")*OU(O4="mot6")*OU(O4="mot7");"resultat2";SI((O4="mot9")*OU(O4="mot10")*OU(O4="mot11");"resultat3";"a vérifier")))
Mais si les mots recherchés sont présent le résultat 1 2 ou 3 ne s'affichent pas, mais s'affiche "a vérifier" !
Donc ça ne donne pas le resultat escompté
Merci d'avance
A Melanie: Merci ça fonctionne sauf que !!
Sauf que dans la cellule o4 de référence il n'y a pas qu'un seul mot mais plusieurs . Excel ne doit pas s'attendre a trouver uniquement "mot1", "mot2"... Mais une phrase contenant "mot1" ou "mot2"...
Merci beauco^p
Sauf que dans la cellule o4 de référence il n'y a pas qu'un seul mot mais plusieurs . Excel ne doit pas s'attendre a trouver uniquement "mot1", "mot2"... Mais une phrase contenant "mot1" ou "mot2"...
Merci beauco^p
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
=si(Ou(si(esterreur(trouve("mot1";O4;1));"";1)=1;si(esterreur(trouve("mot2";O4;1));"";1)=1;si(esterreur(trouve("mot3";O4;1));"";1)=1)=vrai;"resultat1";si(Ou(si(esterreur(trouve("mot5";O4;1));"";1)=1;si(esterreur(trouve("mot6";O4;1));"";1)=1;si(esterreur(trouve("mot7";O4;1));"";1)=1)=vrai;"resultat1";si(ou(si(esterreur(trouve("mot9";O4;1));"";1)=1;si(esterreur(trouve("mot10";O4;1));"";1)=1;si(esterreur(trouve("mot11";O4;1));"";1)=1)=vrai;"resultat1";"a verifier")))
=si(Ou(si(esterreur(trouve("mot1";O4;1));"";1)=1;si(esterreur(trouve("mot2";O4;1));"";1)=1;si(esterreur(trouve("mot3";O4;1));"";1)=1)=vrai;"resultat1";si(Ou(si(esterreur(trouve("mot5";O4;1));"";1)=1;si(esterreur(trouve("mot6";O4;1));"";1)=1;si(esterreur(trouve("mot7";O4;1));"";1)=1)=vrai;"resultat1";si(ou(si(esterreur(trouve("mot9";O4;1));"";1)=1;si(esterreur(trouve("mot10";O4;1));"";1)=1;si(esterreur(trouve("mot11";O4;1));"";1)=1)=vrai;"resultat1";"a verifier")))
Coucou,
Merci ça fonctionne !! mais nouveau problème :
j'ai ajouté pas mal de lignes (voir ci dessous) et maintenant Excel me met une boite d'erreur indiquant:
"Impossible d'entrer la formule spécifiée car elle utilise plus de niveaux d'imbrication que ne l'autorise le format de fichier actuel"
le format en question est du .xls.
Que puis je faire pour résoudre ce problème et allonger ma formule ?
Voici la formule, ou j'en suis (pas fini, il en manque) et c'est déjà trop long
=SI(OU(SI(ESTERREUR(TROUVE("misuse";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("quote";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("cab";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("trade";O4;1));"";1)=1)=VRAI;"Misuse";
SI(OU(SI(ESTERREUR(TROUVE("kci";O4;1));"";1)=1)=VRAI;"KCI";
SI(OU(SI(ESTERREUR(TROUVE("ntf";O4;1));"";1)=1)=VRAI;"NTF";
SI(OU(SI(ESTERREUR(TROUVE("ano";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("mismatch";O4;1));"";1)=1)=VRAI;"Anomaly at Repair Line";
SI(OU(SI(ESTERREUR(TROUVE("mot9";O4;1));"";1)=1;SI(ESTERREUR(TROUVE("mot10";O4;1));"";1)=1;SI(ESTERREUR(TROUVE("mot11";O4;1));"";1)=1)=VRAI;"resultat1";
"a verifier"))))
Merci beaucoup
Merci ça fonctionne !! mais nouveau problème :
j'ai ajouté pas mal de lignes (voir ci dessous) et maintenant Excel me met une boite d'erreur indiquant:
"Impossible d'entrer la formule spécifiée car elle utilise plus de niveaux d'imbrication que ne l'autorise le format de fichier actuel"
le format en question est du .xls.
Que puis je faire pour résoudre ce problème et allonger ma formule ?
Voici la formule, ou j'en suis (pas fini, il en manque) et c'est déjà trop long
=SI(OU(SI(ESTERREUR(TROUVE("misuse";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("quote";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("cab";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("trade";O4;1));"";1)=1)=VRAI;"Misuse";
SI(OU(SI(ESTERREUR(TROUVE("kci";O4;1));"";1)=1)=VRAI;"KCI";
SI(OU(SI(ESTERREUR(TROUVE("ntf";O4;1));"";1)=1)=VRAI;"NTF";
SI(OU(SI(ESTERREUR(TROUVE("ano";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("mismatch";O4;1));"";1)=1)=VRAI;"Anomaly at Repair Line";
SI(OU(SI(ESTERREUR(TROUVE("mot9";O4;1));"";1)=1;SI(ESTERREUR(TROUVE("mot10";O4;1));"";1)=1;SI(ESTERREUR(TROUVE("mot11";O4;1));"";1)=1)=VRAI;"resultat1";
"a verifier"))))
Merci beaucoup
bonjour,
excusez l'incruste
debut de la formule:
j'essaie un autre truc peut-^tre que...
excusez l'incruste
debut de la formule:
=SI(NB.SI(A2;"*mot1*")+NB.SI(A2;"*mot2*")+NB.SI(A2;"*mot3*")>0;"résultat1";Si(NB.SI(A2;"*mot5*")+NB.SI(A2;"*mot6*")+NB.SI(A2;"*mot7*")>0;"rés.....etc..;"à verifier")))
j'essaie un autre truc peut-^tre que...
Hello Michel, j'ai essayé ton idée:
=SI(NB.SI(O2;"*cab*")+NB.SI(O2;"*misuse*")+NB.SI(O2;"*trade*")>0;"misuse";Si(NB.SI(O2;"*def*")+NB.SI(O2;"*col>0;"Defective Collect ";"à verifier")))
ça ne fonctionne pas chez moi. (erreur dans la formule et je ne suis malheuresement pas suffisemment bon pour savoir ou est le problème).
Petit rappel, dans la cellule o4 de référence il n'y a pas qu'un seul mot mais plusieurs . Excel ne doit pas s'attendre a trouver uniquement "mot1", "mot2"... Mais une phrase contenant "mot1" ou "mot2"...
Si tu jettes un oeil à mon message juste au dessus du tien, la formule que j'ai insérée (avec l'aide de Melanie) fonctionne mais elle n'est pas supportée par excel car elle devient trop longue. (et je dois encore en rajouter)
Comment l'optimiser ou faire différemment pour que je puisse l'allonger davantage ?
Merci beaucoup en tout cas
=SI(NB.SI(O2;"*cab*")+NB.SI(O2;"*misuse*")+NB.SI(O2;"*trade*")>0;"misuse";Si(NB.SI(O2;"*def*")+NB.SI(O2;"*col>0;"Defective Collect ";"à verifier")))
ça ne fonctionne pas chez moi. (erreur dans la formule et je ne suis malheuresement pas suffisemment bon pour savoir ou est le problème).
Petit rappel, dans la cellule o4 de référence il n'y a pas qu'un seul mot mais plusieurs . Excel ne doit pas s'attendre a trouver uniquement "mot1", "mot2"... Mais une phrase contenant "mot1" ou "mot2"...
Si tu jettes un oeil à mon message juste au dessus du tien, la formule que j'ai insérée (avec l'aide de Melanie) fonctionne mais elle n'est pas supportée par excel car elle devient trop longue. (et je dois encore en rajouter)
Comment l'optimiser ou faire différemment pour que je puisse l'allonger davantage ?
Merci beaucoup en tout cas
Malheureusement, tu ne peux rien faire.
essaie l'astuce de michel pour voir :
=SI(NB.SI(A2;"*mot1*")+NB.SI(A2;"*mot2*")+NB.SI(A2;"*mot3*")>0;"résultat1";Si(NB.SI(A2;"*mot5*")+NB.SI(A2;"*mot6*")+NB.SI(A2;"*mot7*")>0;"rés.....etc..;"à verifier")))
Sinon, il faudrait exprimer ton beosin pour qu'on trouve une autre solution.
essaie l'astuce de michel pour voir :
=SI(NB.SI(A2;"*mot1*")+NB.SI(A2;"*mot2*")+NB.SI(A2;"*mot3*")>0;"résultat1";Si(NB.SI(A2;"*mot5*")+NB.SI(A2;"*mot6*")+NB.SI(A2;"*mot7*")>0;"rés.....etc..;"à verifier")))
Sinon, il faudrait exprimer ton beosin pour qu'on trouve une autre solution.
Il manque une formule dans celle que tu as écrite, essaie ca :
=SI(NB.SI(O2;"*cab*")+NB.SI(O2;"*misuse*")+NB.SI(O2;"*trade*")>0;"misuse";Si(NB.SI(O2;"*def*")+NB.SI(O2;"*col)>0;"Defective Collect ";"à verifier")))
=SI(NB.SI(O2;"*cab*")+NB.SI(O2;"*misuse*")+NB.SI(O2;"*trade*")>0;"misuse";Si(NB.SI(O2;"*def*")+NB.SI(O2;"*col)>0;"Defective Collect ";"à verifier")))
Je pense que ce sera le mieux et indique tes règles clairement.
ci-joint.fr pour télécharger ton fichier.
ci-joint.fr pour télécharger ton fichier.
OK en fait ça fonctionne tel que ci dessous grâce à votre aide précieuse :
= SI(NB.SI(O3;"*kci*")>0;"KCI";
SI(NB.SI(O3;"*NTF*")>0;"NTF";
SI(NB.SI(O3;"*ano*")+NB.SI(O3;"*mismatch*")>0;"Anomaly at Repair Line";
SI(NB.SI(O3;"*cab*")+NB.SI(O3;"*misuse*")+NB.SI(O3;"*quote*")+NB.SI(O3;"*trade*")+NB.SI(O3;"*mr*")>0;"misuse";
SI(NB.SI(O3;"*def*")>0;"Defective Collect";
SI(NB.SI(O3;"*short*")+NB.SI(O3;"*ets*")+NB.SI(O3;"*reactive*")+NB.SI(O3;"*delay*")+NB.SI(O3;"*eta*")>0;"Shortage at Repair Line";
SI(NB.SI(O3;"*complaint*")+NB.SI(O3;"*equivalence*")+NB.SI(O3;"*buyback*")+NB.SI(O3;"*elevation*")+NB.SI(O3;"*compensation*")+NB.SI(O3;"*cplt*")+NB.SI(O3;"*esca*")>0;"Complaints";
"à verifier"))
Nouvelle question !
Je voudrais rajouter à la ligne ci dessous :
si O2 contient sh et si (en même temps, et uniquement dans ce cas) K2 contient "condition sinéquanone" alors ok: indiquer comme pour le groupe ci dessous"Shortage at repair line
Endroit de la formule où je souhaite l'inclure (car ça concerne la même chose)
SI(NB.SI(O3;"*short*")+NB.SI(O3;"*ets*")+NB.SI(O3;"*reactive*")+NB.SI(O3;"*delay*")+NB.SI(O3;"*eta*")>0;"Shortage at Repair Line";
J'ai uploadé un extrait du fichier en question ici: (avec votre formule colonne Q)
http://www.cijoint.fr/cjlink.php?file=cj201102/cijIeApSDW.xls
Merci beaucoup !
= SI(NB.SI(O3;"*kci*")>0;"KCI";
SI(NB.SI(O3;"*NTF*")>0;"NTF";
SI(NB.SI(O3;"*ano*")+NB.SI(O3;"*mismatch*")>0;"Anomaly at Repair Line";
SI(NB.SI(O3;"*cab*")+NB.SI(O3;"*misuse*")+NB.SI(O3;"*quote*")+NB.SI(O3;"*trade*")+NB.SI(O3;"*mr*")>0;"misuse";
SI(NB.SI(O3;"*def*")>0;"Defective Collect";
SI(NB.SI(O3;"*short*")+NB.SI(O3;"*ets*")+NB.SI(O3;"*reactive*")+NB.SI(O3;"*delay*")+NB.SI(O3;"*eta*")>0;"Shortage at Repair Line";
SI(NB.SI(O3;"*complaint*")+NB.SI(O3;"*equivalence*")+NB.SI(O3;"*buyback*")+NB.SI(O3;"*elevation*")+NB.SI(O3;"*compensation*")+NB.SI(O3;"*cplt*")+NB.SI(O3;"*esca*")>0;"Complaints";
"à verifier"))
Nouvelle question !
Je voudrais rajouter à la ligne ci dessous :
si O2 contient sh et si (en même temps, et uniquement dans ce cas) K2 contient "condition sinéquanone" alors ok: indiquer comme pour le groupe ci dessous"Shortage at repair line
Endroit de la formule où je souhaite l'inclure (car ça concerne la même chose)
SI(NB.SI(O3;"*short*")+NB.SI(O3;"*ets*")+NB.SI(O3;"*reactive*")+NB.SI(O3;"*delay*")+NB.SI(O3;"*eta*")>0;"Shortage at Repair Line";
J'ai uploadé un extrait du fichier en question ici: (avec votre formule colonne Q)
http://www.cijoint.fr/cjlink.php?file=cj201102/cijIeApSDW.xls
Merci beaucoup !
Coucou,
je en suis pas sure d'avoir bien compris ta demande mais ca devrait t'aider :
=si(et(nb.si(o2;"*sh*")>1;k2="condition sinéquanone")=vrai;"shortage at repair Line";"")
je en suis pas sure d'avoir bien compris ta demande mais ca devrait t'aider :
=si(et(nb.si(o2;"*sh*")>1;k2="condition sinéquanone")=vrai;"shortage at repair Line";"")
Je pense que tu as parfaitement compris ça m'a tout l'air d'être ça !!
Par contre on revient au problème de tout à l'heure:
"impossible d'entrer la formule spécifiée car elle utilise plus de niveaux d'imbrication que ne l'autorise le format de fichier actuel
j'en suis la et bloqué: (et j'en ai encore pas mal avec des conditions du type de la dernière que tu m'as gentiment fournie !!)
=SI(NB.SI(O2;"*kci*")>0;"KCI";
SI(NB.SI(O2;"*NTF*")>0;"NTF";
SI(NB.SI(O2;"*ano*")+NB.SI(O2;"*mismatch*")>0;"Anomaly at Repair Line";
SI(NB.SI(O2;"*cab*")+NB.SI(O2;"*misuse*")+NB.SI(O2;"*quote*")+NB.SI(O2;"*trade*")+NB.SI(O2;"*mr*")>0;"misuse";
SI(NB.SI(O2;"*def*")>0;"Defective Collect";
SI(NB.SI(O2;"*short*")+NB.SI(O2;"*ets*")+NB.SI(O2;"*reactive*")+NB.SI(O2;"*delay*")+NB.SI(O2;"*eta*")>0;"Shortage at Repair Line";
si(et(nb.si(o2;"*sh*")>1;k2="condition sinéquanone")=vrai;"shortage at repair Line";"")
SI(NB.SI(O2;"*complaint*")+NB.SI(O2;"*equivalence*")+NB.SI(O2;"*buyback*")+NB.SI(O2;"*elevation*")+NB.SI(O2;"*compensation*")+NB.SI(O2;"*cplt*")+NB.SI(O2;"*esca*")>0;"Complaints";
"à verifier"))
Merci encore ... !!
Par contre on revient au problème de tout à l'heure:
"impossible d'entrer la formule spécifiée car elle utilise plus de niveaux d'imbrication que ne l'autorise le format de fichier actuel
j'en suis la et bloqué: (et j'en ai encore pas mal avec des conditions du type de la dernière que tu m'as gentiment fournie !!)
=SI(NB.SI(O2;"*kci*")>0;"KCI";
SI(NB.SI(O2;"*NTF*")>0;"NTF";
SI(NB.SI(O2;"*ano*")+NB.SI(O2;"*mismatch*")>0;"Anomaly at Repair Line";
SI(NB.SI(O2;"*cab*")+NB.SI(O2;"*misuse*")+NB.SI(O2;"*quote*")+NB.SI(O2;"*trade*")+NB.SI(O2;"*mr*")>0;"misuse";
SI(NB.SI(O2;"*def*")>0;"Defective Collect";
SI(NB.SI(O2;"*short*")+NB.SI(O2;"*ets*")+NB.SI(O2;"*reactive*")+NB.SI(O2;"*delay*")+NB.SI(O2;"*eta*")>0;"Shortage at Repair Line";
si(et(nb.si(o2;"*sh*")>1;k2="condition sinéquanone")=vrai;"shortage at repair Line";"")
SI(NB.SI(O2;"*complaint*")+NB.SI(O2;"*equivalence*")+NB.SI(O2;"*buyback*")+NB.SI(O2;"*elevation*")+NB.SI(O2;"*compensation*")+NB.SI(O2;"*cplt*")+NB.SI(O2;"*esca*")>0;"Complaints";
"à verifier"))
Merci encore ... !!
j'ai compris ton besoin mais tu as beaucoup trop de paramètres pour le faire à l'aide d'une formule.
juste par curiosité tu cherches combien de mots?
juste par curiosité tu cherches combien de mots?
Reprends ton fichier et dans une autre feuille, mets moi le tableau suivant:
colonne a : tes mots recherchés
colonne b : ce qu'il doit t'afficher
colonne a : tes mots recherchés
colonne b : ce qu'il doit t'afficher
http://www.cijoint.fr/cjlink.php?file=cj201102/cijMuIUDHP.xlsx
http://www.cijoint.fr/cjlink.php?file=cj201102/cijQIPlomt.xlsx
Voila les fichiers, dans l'un il ya le fichier dans lequel je dois travailler, un peu différent et plus complet que précédemment. (la formule est la pour remplir la colonne U, qui est remplie pour l'exemple)
Dans l'autre fichier, c'est les éléments a faire apparaitre avec les différentes conditions sinnéquanonnes.
Certaines cases sont vides, sous entendu aucune autre condition
(exemple ligne 27: tout ce qui est en statut trans et avec la lettre H colonne L doivent mentionner Collect issue)
Merciiii Mélanie !!
http://www.cijoint.fr/cjlink.php?file=cj201102/cijQIPlomt.xlsx
Voila les fichiers, dans l'un il ya le fichier dans lequel je dois travailler, un peu différent et plus complet que précédemment. (la formule est la pour remplir la colonne U, qui est remplie pour l'exemple)
Dans l'autre fichier, c'est les éléments a faire apparaitre avec les différentes conditions sinnéquanonnes.
Certaines cases sont vides, sous entendu aucune autre condition
(exemple ligne 27: tout ce qui est en statut trans et avec la lettre H colonne L doivent mentionner Collect issue)
Merciiii Mélanie !!
Pour l'isntant, non, je n'ai pas pu travailler sur ton fichier.
Je pense que je ne pourrais pas avant demain.
Je pense que je ne pourrais pas avant demain.
Bonjour,
Excusez encore 1 fois l'incruste
j'essaie du VBA pour résoudre ton pb
dans ton tableau des conditions, s'agit-il de "OU" ou de "ET"
en effet
dans le post 24
tout ce qui est en statut trans et avec la lettre H colonne L doivent mentionner Collect issue)
dans tes premiers post, tu parles de telle condition OU telle condition?
c'est important pour l'algo
petit détail traduction de "à vérifier" en anglais ?
Excusez encore 1 fois l'incruste
j'essaie du VBA pour résoudre ton pb
dans ton tableau des conditions, s'agit-il de "OU" ou de "ET"
en effet
dans le post 24
tout ce qui est en statut trans et avec la lettre H colonne L doivent mentionner Collect issue)
dans tes premiers post, tu parles de telle condition OU telle condition?
c'est important pour l'algo
petit détail traduction de "à vérifier" en anglais ?
Hello Michel et merci de t'interresser à mon problème !
Pour répondre à ta question: dans le post ou je donne les 2 liens vers pièces jointes: lorsque dans le fichier avec les conditions, si plusieurs colonnes sont remplies, (et seulement dans ce cas) il faut que s'affiche le résultat lié.
Exemple:
&SI(ET(NB.SI(O3;"*sh*")>1;K3="RCV/HOLD/REPAIRED")=VRAI;"shortage at repair Line";"")
Sauf que dans le cas de la formule ci dessous, elle ne fonctionne pas, je ne sais pas pourquoi (peut être que je ne l'ai pas insérée correctement dans la formule globale ci dessou).
Pour essaye de contrer les limites d'excel j'ai concaténé les formules au lieu de les imbriquer (mais j'ai peut etre fait des erreurs aussi, n'hésitez pas à les pointer du doigt !!)
=SI(NB.SI(O3;"*kci*");"KCI";"")&SI(NB.SI(O3;"*NTF* ");"NTF";"")&SI(NB.SI(O3;"*ano*")+NB.SI(O3;"*misma tch*")>0;"Anomaly at Repair Line";"")&SI(NB.SI(O3;"*cab*")+NB.SI(O3;"*misuse*" )+NB.SI(O3;"*quote*")+NB.SI(O3;"*trade*")+NB.SI(O3 ;"*mr*")>0;"misuse";"")&SI(NB.SI(O3;"*def*")>0;"De fective Collect";"")&SI(NB.SI(O3;"*short*")+NB.SI(O3;"*ets *")+NB.SI(O3;"*reactive*")+NB.SI(O3;"*delay*")+NB. SI(O3;"*eta*")>0;"Shortage at Repair Line";"")&SI(ET(NB.SI(O3;"*sh*")>1;K3="RCV/HOLD/REPAIRED")=VRAI;"shortage at repair Line";"")&SI(NB.SI(O3;"*complaint*")+NB.SI(O3;"*eq uivalence*")+NB.SI(O3;"*buyback*")+NB.SI(O3;"*elev ation*")+NB.SI(O3;"*compensation*")+NB.SI(O3;"*cpl t*")+NB.SI(O3;"*esca*")>0;"Complaints";"")
Par ailleurs il manque à la fin: si, rien de toutes les conditions indiquées: alors marquer "a vérifier manuellement" (par exemple).
coté VBA, je suis aussi évidemment preneur !!
Encore merci à vous !!
Pour répondre à ta question: dans le post ou je donne les 2 liens vers pièces jointes: lorsque dans le fichier avec les conditions, si plusieurs colonnes sont remplies, (et seulement dans ce cas) il faut que s'affiche le résultat lié.
Exemple:
&SI(ET(NB.SI(O3;"*sh*")>1;K3="RCV/HOLD/REPAIRED")=VRAI;"shortage at repair Line";"")
Sauf que dans le cas de la formule ci dessous, elle ne fonctionne pas, je ne sais pas pourquoi (peut être que je ne l'ai pas insérée correctement dans la formule globale ci dessou).
Pour essaye de contrer les limites d'excel j'ai concaténé les formules au lieu de les imbriquer (mais j'ai peut etre fait des erreurs aussi, n'hésitez pas à les pointer du doigt !!)
=SI(NB.SI(O3;"*kci*");"KCI";"")&SI(NB.SI(O3;"*NTF* ");"NTF";"")&SI(NB.SI(O3;"*ano*")+NB.SI(O3;"*misma tch*")>0;"Anomaly at Repair Line";"")&SI(NB.SI(O3;"*cab*")+NB.SI(O3;"*misuse*" )+NB.SI(O3;"*quote*")+NB.SI(O3;"*trade*")+NB.SI(O3 ;"*mr*")>0;"misuse";"")&SI(NB.SI(O3;"*def*")>0;"De fective Collect";"")&SI(NB.SI(O3;"*short*")+NB.SI(O3;"*ets *")+NB.SI(O3;"*reactive*")+NB.SI(O3;"*delay*")+NB. SI(O3;"*eta*")>0;"Shortage at Repair Line";"")&SI(ET(NB.SI(O3;"*sh*")>1;K3="RCV/HOLD/REPAIRED")=VRAI;"shortage at repair Line";"")&SI(NB.SI(O3;"*complaint*")+NB.SI(O3;"*eq uivalence*")+NB.SI(O3;"*buyback*")+NB.SI(O3;"*elev ation*")+NB.SI(O3;"*compensation*")+NB.SI(O3;"*cpl t*")+NB.SI(O3;"*esca*")>0;"Complaints";"")
Par ailleurs il manque à la fin: si, rien de toutes les conditions indiquées: alors marquer "a vérifier manuellement" (par exemple).
coté VBA, je suis aussi évidemment preneur !!
Encore merci à vous !!
Bonjour,
J'ai posé ce fichier :
http://www.cijoint.fr/cjlink.php?file=cj201102/cijKPWNZWa.xls
Il contient une macro.
Pour marcher :
tu dois mettre une feuille chercher. tu peux modifier le nom, il faudra alors modifier la macro. Pour cela, Outils, macro, vba :
Sub cherche()
i = 2
Do While Cells(i, 15) <> "" 'va balayer ta colonne O
b = 2
Do While Sheets("cherche").Cells(b, 1) <> "" 'va balayer la feuille cherche, modifie cherche par ton nom de feuille si tu le modifies
a = Application.WorksheetFunction.CountIf(Cells(i, 15), "*" & Sheets("cherche").Cells(b, 1) & "*")
If Sheets("cherche").Cells(b, 2) = "" Then
If a >= 1 Then
Cells(i, 22) = Sheets("cherche").Cells(b, 4)
b = 1000
End If
Else
If Sheets("cherche").Cells(b, 3) = "" Then
c = Application.WorksheetFunction.CountIf(Cells(i, 15), "*" & Sheets("cherche").Cells(b, 2) & "*")
If a >= 1 And c >= 1 Then
Cells(a, 22) = Sheets("cherche").Cells(b, 4)
b = 1000
End If
Else
d = Application.WorksheetFunction.CountIf(Cells(i, 15), "*" & Sheets("cherche").Cells(b, 3) & "*")
If a >= 1 And c >= 1 And d >= 1 Then
Cells(a, 22) = Sheets("cherche").Cells(b, 4)
b = 1000
End If
End If
End If
b = b + 1
Loop
i = i + 1
Loop
End Sub
J'ai posé ce fichier :
http://www.cijoint.fr/cjlink.php?file=cj201102/cijKPWNZWa.xls
Il contient une macro.
Pour marcher :
tu dois mettre une feuille chercher. tu peux modifier le nom, il faudra alors modifier la macro. Pour cela, Outils, macro, vba :
Sub cherche()
i = 2
Do While Cells(i, 15) <> "" 'va balayer ta colonne O
b = 2
Do While Sheets("cherche").Cells(b, 1) <> "" 'va balayer la feuille cherche, modifie cherche par ton nom de feuille si tu le modifies
a = Application.WorksheetFunction.CountIf(Cells(i, 15), "*" & Sheets("cherche").Cells(b, 1) & "*")
If Sheets("cherche").Cells(b, 2) = "" Then
If a >= 1 Then
Cells(i, 22) = Sheets("cherche").Cells(b, 4)
b = 1000
End If
Else
If Sheets("cherche").Cells(b, 3) = "" Then
c = Application.WorksheetFunction.CountIf(Cells(i, 15), "*" & Sheets("cherche").Cells(b, 2) & "*")
If a >= 1 And c >= 1 Then
Cells(a, 22) = Sheets("cherche").Cells(b, 4)
b = 1000
End If
Else
d = Application.WorksheetFunction.CountIf(Cells(i, 15), "*" & Sheets("cherche").Cells(b, 3) & "*")
If a >= 1 And c >= 1 And d >= 1 Then
Cells(a, 22) = Sheets("cherche").Cells(b, 4)
b = 1000
End If
End If
End If
b = b + 1
Loop
i = i + 1
Loop
End Sub
Pour l'instant, ma macro copie les resultats dans la colonne à droite que tu as mise en jaune.
Si ca te convient :
remplaces partout :
cells(i,22) par cells(i,21).
Si ca te convient :
remplaces partout :
cells(i,22) par cells(i,21).
Coucou !!
Merci beaucoup !!
J'ai encore une question, j'ai ajouté des lignes du coté des conditions comme du côté du fichier principal mais par exemple, je n'ai aucune "Delivery issue" ni "Collecte issue" (40 réponses normalement juste pour Collecte issue).
Voila le fichier !
http://www.cijoint.fr/cjlink.php?file=cj201102/cij3oFuxPt.xls
Merci beaucoup !!
Merci beaucoup !!
J'ai encore une question, j'ai ajouté des lignes du coté des conditions comme du côté du fichier principal mais par exemple, je n'ai aucune "Delivery issue" ni "Collecte issue" (40 réponses normalement juste pour Collecte issue).
Voila le fichier !
http://www.cijoint.fr/cjlink.php?file=cj201102/cij3oFuxPt.xls
Merci beaucoup !!
Re à tous
A la bourre, mais d'autres occupations...
Ci joint maquette
http://www.cijoint.fr/cjlink.php?file=cj201102/cijevmL3b5.xlsm
J'ai réuni les 2 feuilles dans un seul classeur pour faciliter l'étude on pourra le faire sans grosse difficulté (utilisation de variables tableaux) si tu le désires mais...
la restitution se fait conne W pour comparer avec l'original: il y a quelques discordances que je vais regarder...
Michel
A la bourre, mais d'autres occupations...
Ci joint maquette
http://www.cijoint.fr/cjlink.php?file=cj201102/cijevmL3b5.xlsm
J'ai réuni les 2 feuilles dans un seul classeur pour faciliter l'étude on pourra le faire sans grosse difficulté (utilisation de variables tableaux) si tu le désires mais...
la restitution se fait conne W pour comparer avec l'original: il y a quelques discordances que je vais regarder...
Michel
Sauf que dans la cellule o4 de référence il n'y a pas qu'un seul mot mais plusieurs . Excel ne doit pas s'attendre a trouver uniquement "mot1", "mot2"... Mais une phrase contenant "mot1" ou "mot2"...
Merci beauco^p