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 :cool:
 

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 :rolleyes:...
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 :p...
De là à me déifier ;)...
Bises et bon WE :cool:
 

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 :eek:.
J'ai l'impression que je commence à virer Formule vu qu'on se rencontre plus souvent :rolleyes:...
Bises à toutes les 2 :cool:
 

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 ?
- ILLUSTREZ VOTRE DEMANDE : Afin de faciliter la compréhension de votre demande il est conseillé de joindre un PETIT fichier qui illustre votre question précise et montre les résultats que vous cherchez à obtenir.
Pour l'envoyer, cliquez sur le trombone ci-dessous ou sur le bouton "Gérer les pièces jointes" dans la zone "Options supplémentaires".Ensuite, cliquez sur le bouton "Parcourir" et sélectionnez-le (après l'avoir compressé s'il dépasse les 250Ko).

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.
 

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 :) !
 

Statistiques des forums

Discussions
314 488
Messages
2 110 132
Membres
110 679
dernier inscrit
lpierr