RECHERCHE MULTICRITERES AVEC UNE DONNEE VARIABLE
Résolu
BDD242013
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
BDD242013 -
BDD242013 -
Bonjour,
Bonjour,
Je fais appel à vos EXCELlentes compétences car les miennes rencontrent des limites !
Je souhaite mettre en place, de façon temporaire, sur un poste, un système de gestion des commandes très très simplifié pour mon entreprise. Aussi, j'ai crée le document que vous trouverez en PJ (Évidemment, j'ai rentré des données fictives dans chacune des feuilles).
Ce tableau est constitué de 5 feuilles : "BASE_SAISIE_CDES" / "FICHIER_CLIENTS" / "TARIFS_POSTE" / "TARIFS_GAMME" / "CONDITIONS_COMMERCIALES".
Afin de faciliter la saisie d'une nouvelle commande, gagner du temps et éviter les erreurs, je souhaite que l'opérateur saisisse le moins d'informations possibles. L'opérateur interviendra majoritairement dans la feuille "BASE_SAISIE_CDES" et ponctuellement dans la feuille "FICHIER_CLIENTS" pour la création d'un nouveau client.
Dans la feuille "BASE_SAISIE_CDES", seules les cases en blanc sont à remplir, les cases en jaune se remplissent automatiquement. Aussi, lorsque l'opérateur saisit le N° de client "1", apparaissent les informations "CODE CLIENT" / "NOM CLIENT" / "ADRESSE DE LIVRAISON" / etc, contenues dans la feuille "FICHIER_CLIENTS" . Idem pour les produits avec les informations contenues dans la feuille "TARIFS_GAMME".
L'unique problème que je rencontre est dans la recherche de la remise adéquate.
En effet, les remises (que l'on trouve dans la feuille "CONDITIONS_COMMERCIALES") sont déterminées à partir de 2 critères :
- Critère 1 > Le "CODE TARIF" - il en existe 2 : T1 et T3 - Critère Fixe
- Critère 2 > Le "MONTANT TOTAL HT - AVANT REMISE" - Critère Variable
Dans l'exemple que vous trouverez dans le fichier joint,
le client n°1 "LECLERC TOUR EIFFEL" appartient au "CODE TARIF" : T1
Il a commandé pour un "MONTANT TOTAL HT - AVANT REMISE" de 233 € HT
Sa remise est donc de : 20%.
J'ai essayé la formule suivante :
=SI(BF19="T1";SI(BM19>=CONDITIONS_COMMERCIALES!$D$2<CONDITIONS_COMMERCIALES!$D$3;10%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$3<CONDITIONS_COMMERCIALES!$D$4;15%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$4<CONDITIONS_COMMERCIALES!$D$5;20%;SI(BM19>CONDITIONS_COMMERCIALES!$D$5;25%))));SI(BM19>=CONDITIONS_COMMERCIALES!$D$6<CONDITIONS_COMMERCIALES!$D$7;5%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$7<CONDITIONS_COMMERCIALES!$D$8;10%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$8<CONDITIONS_COMMERCIALES!$D$9;15%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$9;20%)))))
qui correspond à :
=SI(BF3="T1";SI(200=<BM3<400;10%;SI(400=<BM3<600;15%;SI(600=<BM3<800;20%;SI(BM3>800;25%))));SI(300=<BM3<600;5%;SI(600=<BM3<900;10%;SI(900=<BM3<1200;15%;SI(BM3>=1200;20%)))))
Cette formule a fonctionné quelques secondes et indiquait "FAUX", à mon grand étonnement, lorsque j'ai réouvert le fichier.
J'ai fait quelques recherches sur nénette (internet) pour une recherche multicritères et peut-être que la solution à mon interrogation réside dans une formule avec "INDEX" / "EQUIV" mais je ne les maîtrise pas bien.
Je vous remercie d'avance de toute l'aide que vous pourrez m'apporter.
Cordialement,
Olivier
Bonjour,
Je fais appel à vos EXCELlentes compétences car les miennes rencontrent des limites !
Je souhaite mettre en place, de façon temporaire, sur un poste, un système de gestion des commandes très très simplifié pour mon entreprise. Aussi, j'ai crée le document que vous trouverez en PJ (Évidemment, j'ai rentré des données fictives dans chacune des feuilles).
Ce tableau est constitué de 5 feuilles : "BASE_SAISIE_CDES" / "FICHIER_CLIENTS" / "TARIFS_POSTE" / "TARIFS_GAMME" / "CONDITIONS_COMMERCIALES".
Afin de faciliter la saisie d'une nouvelle commande, gagner du temps et éviter les erreurs, je souhaite que l'opérateur saisisse le moins d'informations possibles. L'opérateur interviendra majoritairement dans la feuille "BASE_SAISIE_CDES" et ponctuellement dans la feuille "FICHIER_CLIENTS" pour la création d'un nouveau client.
Dans la feuille "BASE_SAISIE_CDES", seules les cases en blanc sont à remplir, les cases en jaune se remplissent automatiquement. Aussi, lorsque l'opérateur saisit le N° de client "1", apparaissent les informations "CODE CLIENT" / "NOM CLIENT" / "ADRESSE DE LIVRAISON" / etc, contenues dans la feuille "FICHIER_CLIENTS" . Idem pour les produits avec les informations contenues dans la feuille "TARIFS_GAMME".
L'unique problème que je rencontre est dans la recherche de la remise adéquate.
En effet, les remises (que l'on trouve dans la feuille "CONDITIONS_COMMERCIALES") sont déterminées à partir de 2 critères :
- Critère 1 > Le "CODE TARIF" - il en existe 2 : T1 et T3 - Critère Fixe
- Critère 2 > Le "MONTANT TOTAL HT - AVANT REMISE" - Critère Variable
Dans l'exemple que vous trouverez dans le fichier joint,
le client n°1 "LECLERC TOUR EIFFEL" appartient au "CODE TARIF" : T1
Il a commandé pour un "MONTANT TOTAL HT - AVANT REMISE" de 233 € HT
Sa remise est donc de : 20%.
J'ai essayé la formule suivante :
=SI(BF19="T1";SI(BM19>=CONDITIONS_COMMERCIALES!$D$2<CONDITIONS_COMMERCIALES!$D$3;10%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$3<CONDITIONS_COMMERCIALES!$D$4;15%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$4<CONDITIONS_COMMERCIALES!$D$5;20%;SI(BM19>CONDITIONS_COMMERCIALES!$D$5;25%))));SI(BM19>=CONDITIONS_COMMERCIALES!$D$6<CONDITIONS_COMMERCIALES!$D$7;5%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$7<CONDITIONS_COMMERCIALES!$D$8;10%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$8<CONDITIONS_COMMERCIALES!$D$9;15%;SI(BM19>=CONDITIONS_COMMERCIALES!$D$9;20%)))))
qui correspond à :
=SI(BF3="T1";SI(200=<BM3<400;10%;SI(400=<BM3<600;15%;SI(600=<BM3<800;20%;SI(BM3>800;25%))));SI(300=<BM3<600;5%;SI(600=<BM3<900;10%;SI(900=<BM3<1200;15%;SI(BM3>=1200;20%)))))
Cette formule a fonctionné quelques secondes et indiquait "FAUX", à mon grand étonnement, lorsque j'ai réouvert le fichier.
J'ai fait quelques recherches sur nénette (internet) pour une recherche multicritères et peut-être que la solution à mon interrogation réside dans une formule avec "INDEX" / "EQUIV" mais je ne les maîtrise pas bien.
Je vous remercie d'avance de toute l'aide que vous pourrez m'apporter.
Cordialement,
Olivier
A voir également:
- RECHERCHE MULTICRITERES AVEC UNE DONNEE VARIABLE
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Je recherche une chanson - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Moteur de recherche 1fichier ✓ - Forum Réseaux sociaux
4 réponses
Bonjour,
1°) Pour joindre un fichier, utiliser cjoint.com. Déposer le fichier, créer le lien, puis copier ce lien dans une réponse à cette discussion
2°) Impossible de faire A < B < C en Excel. Il faut utiliser ET() pour faire ET(A<B;B<C)
3°) Effectivement il serait peut être utile de passer par INDEX() et EQUIV() mais pour cela il faut avoir joint le fichier en étape 1 :-)
Cordialement.
1°) Pour joindre un fichier, utiliser cjoint.com. Déposer le fichier, créer le lien, puis copier ce lien dans une réponse à cette discussion
2°) Impossible de faire A < B < C en Excel. Il faut utiliser ET() pour faire ET(A<B;B<C)
3°) Effectivement il serait peut être utile de passer par INDEX() et EQUIV() mais pour cela il faut avoir joint le fichier en étape 1 :-)
Cordialement.
Pardon effectivement, j'ai validé trop tôt ma question en oubliant de joindre le fichier.
Voici le fichier
https://www.cjoint.com/?3BlrIG5qCqt
Merci de votre réponse
Cordialement
Voici le fichier
https://www.cjoint.com/?3BlrIG5qCqt
Merci de votre réponse
Cordialement
Bonjour
En modifiant la présentation de vos tarifs voici la formule que je vous propose
=SI(OU($BM2=0;$BF2="");"";RECHERCHEV($BM2;CONDITIONS_COMMERCIALES!$A$5:$D$11;RECHERCHEH($BF2;CONDITIONS_COMMERCIALES!$A$3:$D$10;2;VRAI);VRAI))
votre fichier modifié
https://www.cjoint.com/?3BltxpxkReV
En modifiant la présentation de vos tarifs voici la formule que je vous propose
=SI(OU($BM2=0;$BF2="");"";RECHERCHEV($BM2;CONDITIONS_COMMERCIALES!$A$5:$D$11;RECHERCHEH($BF2;CONDITIONS_COMMERCIALES!$A$3:$D$10;2;VRAI);VRAI))
votre fichier modifié
https://www.cjoint.com/?3BltxpxkReV