Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

mettre une formule de condition avec une formule de recherche multicritère

Eve30

XLDnaute Nouveau
Bonjour,

Je viens vous demander votre aide car je suis actuellement bloquée sur mon fichier Excel (2010).

Actuellement j'ai créé ma feuille de jour, ma grille de tarif ainsi que divers tableaux (nommée sous étiquette) facilitant mes validations de données.

Ma feuille de jour me crée un problème car je souhaiterai qu'elle s'automatise avec ma grille de tarif.
J'ai fini mes validations de donnée, liste déroulante etc.. et j'ai commencé a faire une formule matricielle me permettant de trouvé le Tarif de ma grille de tarif N°1 et j'ai développé pour mes 4 tarifs.

=INDEX(Tarif1;EQUIV(B4&E4&D4&G4&J4;Nom&Motif1&Ville11&Ville12&TTarif1;0))
=INDEX(Tarif2;EQUIV(B4&E4&D4&G4&J4;Nom&Motif2&Ville21&Ville22&TTarif2;0))
=INDEX(Tarif3;EQUIV(B4&E4&D4&G4&J4;Nom&Motif3&Ville31&Ville32&TTarif3;0))
=INDEX(Tarif4;EQUIV(B4&E4&D4&G4&J4;Nom&Motif4&Ville41&Ville42&TTarif4;0))

Le problème c'est que pour un client son tarif peut changer en fonction des villes de départ et d'arrivée. et sur certains j'ai 4 tarifs différents.

Je pensai qu'il était possible avec une formule conditionnelle de permettre cela, mais je n'y arrive pas, je crois que mon cerveau a grillé.

Pourriez vous me filer un petit coup de main? (sachant que je souhaite éviter les macros). et je pensai utilisé la fonction SI ET OU avec si vrai le résultat correspondant a la grille si faux marqué : "ajouter le transport dans la grille tarifaire"

Je vous joint mon fichier en espérant que cela vous aide à mieux comprendre mon dilemme.

Merci d'avance.
 

Pièces jointes

  • tarification client .xlsx
    55.2 KB · Affichages: 158

JNP

XLDnaute Barbatruc
Re : mettre une formule de condition avec une formule de recherche multicritère

Bonjour Eve30 ,
A tester
Code:
=SIERREUR(INDEX(Tarif1;EQUIV(B5&E5&D5&G5&J5;Nom&Motif1&Ville11&Ville12&TTarif1;0));SIERREUR(INDEX(Tarif2;EQUIV(B5&E5&D5&G5&J5;Nom&Motif2&Ville21&Ville22&TTarif2;0));SIERREUR(INDEX(Tarif3;EQUIV(B5&E5&D5&G5&J5;Nom&Motif3&Ville31&Ville32&TTarif3;0));SIERREUR(INDEX(Tarif4;EQUIV(B5&E5&D5&G5&J5;Nom&Motif4&Ville41&Ville42&TTarif4;0));"A ajouter"))))
Bon courage
 

Eve30

XLDnaute Nouveau
Re : mettre une formule de condition avec une formule de recherche multicritère

C'est nickel ça fonctionne Merci beaucoup.

Par contre, il y a un moyen pour que l'ordre des villes ne soit pas une erreur?

Ex: Mr X va de la ville A a la ville B pour de la Kiné = 25€ (aller) une fois son rdv fini Mr X va de la ville B a la ville A pour 25€ (retour)
Sur mon fichier du coup ca marque "a ajouter", hors le prix est déjà connu. Est ce qu'il y a une formule pour faire ca?

Merci d'avance
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : mettre une formule de condition avec une formule de recherche multicritère

Re ,
Ne modifie jamais un post si tu veux qu'il soit lu, un nouveau post permet que la discussion soit marquée en gras dans ma liste, alors que la modification n'est pas signalée ...
Logiquement,
Code:
=SIERREUR(INDEX(Tarif1;EQUIV(B5&E5&D5&G5&J5;Nom&Motif1&Ville11&Ville12&TTarif1;0));SIERREUR(INDEX(Tarif1;EQUIV(B5&E5&D5&G5&J5;Nom&Motif1&Ville12&Ville11&TTarif1;0));SIERREUR(INDEX(Tarif2;EQUIV(B5&E5&D5&G5&J5;Nom&Motif2&Ville21&Ville22&TTarif2;0));SIERREUR(INDEX(Tarif2;EQUIV(B5&E5&D5&G5&J5;Nom&Motif2&Ville22&Ville21&TTarif2;0));SIERREUR(INDEX(Tarif3;EQUIV(B5&E5&D5&G5&J5;Nom&Motif3&Ville31&Ville32&TTarif3;0));SIERREUR(INDEX(Tarif3;EQUIV(B5&E5&D5&G5&J5;Nom&Motif3&Ville32&Ville31&TTarif3;0));SIERREUR(INDEX(Tarif4;EQUIV(B5&E5&D5&G5&J5;Nom&Motif4&Ville41&Ville42&TTarif4;0));SIERREUR(INDEX(Tarif4;EQUIV(B5&E5&D5&G5&J5;Nom&Motif4&Ville42&Ville41&TTarif4;0));"A ajouter"))))))))
devrait fonctionner ...
De là à me déifier ...
Bises et bon WE
 

Monique

Nous a quitté
Repose en paix
Re : mettre une formule de condition avec une formule de recherche multicritère

Bonjour,

Un essai avec SommeProd

« A ajouter » ou cellule vide :
=SOMMEPROD((B4=Nom)*((E4=Motif1)*(J4=TTarif1)*((D4&G4=Ville11&Ville12)+(D4&G4=Ville12&Ville11)))+
((E4=Motif2)*(J4=TTarif2)*((D4&G4=Ville21&Ville22)+(D4&G4=Ville22&Ville21)))+
((E4=Motif3)*(J4=TTarif3)*((D4&G4=Ville31&Ville32)+(D4&G4=Ville32&Ville31)))+
((E4=Motif4)*(J4=TTarif4)*((D4&G4=Ville41&Ville42)+(D4&G4=Ville42&Ville41))))

Avec un format nombre personnalisé [=0]"A ajouter";;

Le montant :
=SOMMEPROD((B4=Nom)*((E4=Motif1)*(J4=TTarif1)*((D4&G4=Ville11&Ville12)+(D4&G4=Ville12&Ville11))*Tarif1)+
((E4=Motif2)*(J4=TTarif2)*((D4&G4=Ville21&Ville22)+(D4&G4=Ville22&Ville21))*Tarif2)+
((E4=Motif3)*(J4=TTarif3)*((D4&G4=Ville31&Ville32)+(D4&G4=Ville32&Ville31))*Tarif3)+
((E4=Motif4)*(J4=TTarif4)*((D4&G4=Ville41&Ville42)+(D4&G4=Ville42&Ville41))*Tarif4))
 

Pièces jointes

  • TarificationClient.xlsx
    57.3 KB · Affichages: 142

JNP

XLDnaute Barbatruc
Re : mettre une formule de condition avec une formule de recherche multicritère

Re ,
Chapeau bas Monique !
C'est vrai que j'ai modifié la formule d'Eve au lieu d'essayer d'en trouver une meilleure, mais ta méthode est beaucoup plus simple .
J'ai l'impression que je commence à virer Formule vu qu'on se rencontre plus souvent ...
Bises à toutes les 2
 

Barbuz

XLDnaute Nouveau
Re : mettre une formule de condition avec une formule de recherche multicritère

Bonsoir,
J'ai un problème plus ou moins similaire.
Il s'agit de l'application d'une formule sous condition.
Par exemple, si C1=A1'Feuille1"!, alors la formule est B2*B1 et si C1=A2'Feuille1"!, alors la formule est B3*B1/B2, etc.
Le problème c'est que j'ai 24 formules différentes.
Je pourrais utiliser une formule "SI" à rallonge, mais je me dis qu'il y a peut-être quelque chose de plus rapide.
J'ai essayé avec INDEX, mais ça ne marche pas avec la formule sous condition - ou alors c'est que ma syntaxe est mauvaise.
Merci !
 
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : mettre une formule de condition avec une formule de recherche multicritère

Bonsoir, Barbuz et bienvenue sur XLD.

Pourquoi n'avoir pas ouver votre propre fil avec, en illustration un court fichier Excel représentatif, comme conseillé ici ?

Le problème c'est que j'ai 24 formules différentes.
Je pourrais utiliser une formule "SI" à rallonge
Je n'en suis pas sûr

A vous relire
 

Barbuz

XLDnaute Nouveau
Re : mettre une formule de condition avec une formule de recherche multicritère

Bonsoir Victor, et merci.
Si je n'ai pas ouvert mon propre fil c'est parce que je suis dit que ce fil-ci était relativement proche pour éviter de créer une nouvelle discussion, mais bon...
Ci-joint un fichier ; j'espère que ça sera clair...
Merci !
 

Pièces jointes

  • 2014 02 21 EXCEL.xlsx
    23.2 KB · Affichages: 71

Barbuz

XLDnaute Nouveau
Re : mettre une formule de condition avec une formule de recherche multicritère

Alors, a priori j'ai trouvé une solution.
Il faut d'abord entrer les formules dans la page de référence en utilisant les cellules de la feuille de résultat.
Ensuite, j'ai appliqué une formule INDEX "classique" et ça fonctionne.
 

Barbuz

XLDnaute Nouveau
Re : mettre une formule de condition avec une formule de recherche multicritère

Eh bien non, ça ne fonctionne pas.
La condition n'est pas appliquée et c'est toujours la première formule qui est répétée...
 

Victor21

XLDnaute Barbatruc
Re : mettre une formule de condition avec une formule de recherche multicritère

Re,

Une proposition en pj, en calculant chaque formule

Edit : Nouvelle PJ avec liste déroulante et mise en forme conditionnelle
 

Pièces jointes

  • 2014 02 22 EXCEL.xlsx
    22.6 KB · Affichages: 62
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : mettre une formule de condition avec une formule de recherche multicritère

Bonjour à tous, bonjour Victor21

Comme je n'arrive pas à ouvrir ton fichier (ni celui de Victor21 !), Barbuz, je te met une possibilité dans la pièce jointe de mon cru. Le principe : tu listes dans 26 cellules tes 26 formules. Puis, avec un EQUIV, et pas avec des SI, tu vas chercher la bonne formule, et tu demandes à Excel de l'évaluer, avec la fonction... EVALUER. Le pb : Cette fonction est une "antiquité", provenant de XL4, utilisée jusque vers 1990-1995 à la place du VBA. Elle ne fonctionne pas directement dans les cellules, mais uniquement si on la met dans un nom quelconque (j'ai remis EVALUER, mais on peut écrire autre chose) défini par l'intermédiaire du Gestionnaire de noms, avec =EVALUER(......).

@ plus

P.S : En sauvant vos fichiers avant de les ouvrir, j'ai réussi à les ouvrir. Conclusion : Apparemment, il ne s'agit pas d'utiliser une formule, mais de l'afficher. Dans ce cas, il ni a pas besoin de la fonction EVALUER. Et la méthode proposée par Victor21, avec un INDEX(...;EQUI convient.
 

Pièces jointes

  • essai eve 30.xlsm
    29.8 KB · Affichages: 49
Dernière édition:

Barbuz

XLDnaute Nouveau
Re : mettre une formule de condition avec une formule de recherche multicritère

Merci Victor21 et merci CISCO.
J'ai donc utilisé un INDEX et ça a marché.
La raison pour laquelle ça n'avait pas marché avant et que je pensais que l'INDEX allait s'appliquer à toutes mes colonnes mais j'ai dû entrer une série de formules adaptées pour chaque colonne - et donc un INDEX adapté pour chaque colonne aussi.
Et ça a marché.
Encore merci !
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…