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

  • Initiateur de la discussion Initiateur de la discussion Eve30
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

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 😎
 
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:
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 🙂
 
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

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.
 
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

Dernière édition:
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 🙂 !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour