Problème formule si plusieurs conditions

Bonjour à tous,

J'ai créé un fichier excell avec une VBA automatisant des courriers sur Word, qui va très bien et répond à ce que j'attends.

J'ai pré-rempli des cellules de formules selon certaines conditions, jusque là tout va bien.

Mais je bloque pour une formule : Je m'explique.

Je cherche à créer une formule qui me renverrait un résultat si plusieurs conditions sont remplies. Il y'a deux conditions, ça a l'air simple mais là où je bloque, c'est qu'une condition est du texte.

Concrètement (voir fichier joint), je cherche à renvoyer en cellule J3 (actuellement il y'a une liste déroulante, que je supprimerai si je trouve la formule magique) le résultat de : Si I3 contient 263/16 ET que P3 = Namur, alors résultat.

Bon, j'ai tenté ça : =SI(ET(CHERCHE("*263/16*";I3;1);P3="namur");"MAC 6 - Lot 1")

Ca fonctionne, sauf quand le résultat n'est pas bon, il me renvoie #Valeur. Je dois donc jouer avec du Si(Erreurest je présume, sauf que j'y arrive pas. Je vois pas dans quel sens le mettre, ni comment ou quoi.

Et pour compliquer le tout (enfin, pour moi ça a l'air complique), il faudrait que la formule renvoie un résultat différent suivant les conditions.

En gros,

si I3 contient 263/16 ET que P3 = Namur =>MAC 6 - Lot 1

si I3 contient 263/17 ET que P3 = Namur =>MAC 6 - Lot 1R

si I3 contient 263/16 ET que P3 = Liège =>MAC 6 - Lot 2

si I3 contient 263/17 ET que P3 = Liège =>MAC 6 - Lot 2R

si I3 contient 263/16 ET que P3 = Arlon =>MAC 6 - Lot 2

si I3 contient 263/17 ET que P3 = Arlon =>MAC 6 - Lot 2R

si I3 contient 263/16 ET que P3 = Brabant =>MAC 6 - Lot 3

si I3 contient 263/17 ET que P3 = Brabant =>MAC 6 - Lot 3R

si I3 contient 263/16 ET que P3 = Mons =>MAC 6 - Lot 3

si I3 contient 263/17 ET que P3 = Mons =>MAC 6 - Lot 3R

si I3 contient 263/16 ET que P3 = Bruxelles =>MAC 6 - Lot 3

si I3 contient 263/17 ET que P3 = Bruxelles =>MAC 6 - Lot 3R

si I3 contient 263/16 ET que P3 = Charleroi =>MAC 6 - Lot 3

si I3 contient 263/17 ET que P3 = Charleroi =>MAC 6 - Lot 3R

J'ai essayé d'être le plus clair, j'espère que ça l'est pour vous

D'avance merci !

17excelword1.zip (27.84 Ko)

Bonjour

Tu écris

En gros, si I3 contient 263/16 ET que P3 = Namur =>MAC 6 - Lot 1si I3 contient 263/17 ET que P3 = Namur =>MAC 6 - Lot 1Rsi I3 contient 263/16 ET que P3 = Liège =>MAC 6 - Lot 2si I3 contient 263/17 ET que P3 = Liège =>MAC 6 - Lot 2Retc...

Ce qui est gênant, c'est le etc... car pour chercher une formule, il nous faut l'intégralité des conditions.

Cordialement

=ET(NON(ESTERR(TROUVE("263/16";I4)));P4="namur")

En effet, je me suis arrêté à quelques conditions, que j'aurais ajouté une fois la formule trouvée.

Je vais quand même les noter, merci pour la remarque

PS : J'ai édité le message d'origine

Bonjour

Le tableau des conditions en Y5:AA18

La formule matricielle en J3,à valider avec les 3 touches Ctrl+Maj+Entrée

=SIERREUR(INDEX($AA$5:$AA$18;EQUIV(1;($Y$5:$Y$18=I3)*($Z$5:$Z$18=P3);0));"")

Cordialement

12excelword1.zip (26.36 Ko)

Ca marche parfaitement, enfin presque parfaitement. A la suite de 263/16/, il y'a quatre autres chiffres (numéro du dossier en fait).

En gros, je taperai, par exemple, 263/17/1234. Et ma formule ne doit prendre en compte, ou rechercher, et renvoyer le résultat si elle voit 263/17, ce qu'elle fait, mais si j'ajoute 1234, elle me renvoie une cellule vide

Bonjour

=SIERREUR(INDEX($AA$5:$AA$18;EQUIV(1;(GAUCHE($Y$5:$Y$18;6)=I3)*($Z$5:$Z$18=P3);0));"")

(Toujours en validation matricielle)

Cordialement

Toujours pas, quand je mets 263/16 ça fonctionne, mais quand j'ajoute du texte avant, ou après, il met met cellule vide en résultat.

Bonjour

Excuses, j'ai inversé.

=SIERREUR(INDEX($AA$5:$AA$18;EQUIV(1;($Y$5:$Y$18=GAUCHE(I3;6))*($Z$5:$Z$18=P3);0));"")

Cordialement

12excelword1.zip (23.40 Ko)

Merci pour ton aide précieuse, ça marche parfaitement.

Eventuellement, si j'insère quelque chose devant et que mon texte "263/16" est entre ce texte, donc, et la suite de chiffre. L'équivalent ne marche plus. Que peut on faire dans ce cas là ?

D'avance merci, bien que ça soit du "complément"

Bonjour

Toujourd en saisie matricielle

=DECALER($AA$4;EQUIV(1;(ESTNUM(CHERCHE(SI($Y$5:$Y$20<>"";$Y$5:$Y$20);I3)))*($Z$5:$Z$20=P3);0);)

Cordialement

6excelword1.zip (23.73 Ko)

Désolé pour le temps de réponse, ça marche parfaitement. J'ai juste un N/A si aucune réponse.

Merci en tout cas, ça m'aide déjà énormément au boulot

Rechercher des sujets similaires à "probleme formule conditions"