Choix minimal avec conditions

bonjour

j'ai un tableau avec une liste de vendeur et des produits

je doit choisir dans les prix proposés le choix minimal

je me trouve confronter a une difficulté pour le choix le plus adéquat afin de définir la dépense minimal

d'autant plus que j'ai plusieurs tableaux du même type avec d'autres vendeurs et d'autres produits

avec des conditions similaires

le fichier joint comporte d'autres explications

je serai très heureux de votre aide et je vous remercie d'avance

Bonjour,

une proposition qui demande des tests supplémentaires...

la base de données que tu as fournie pour l'exemple est insuffisante pour tester correctement la macro.

Il me faudrait beaucoup plus de produits et et vendeurs (que tu rajouterais sur la feuille"choix et conditions") avec les données remplies de façon aléatoire pour pouvoir simuler au moins quelques autres cas de figure.

PS : pour info, la macro va rechercher, pour chaque vendeur, les produits pour lesquels les prix sont les plus compétitifs; supposons que tu puisses acheter un maximum de 3 produits chez un vendeur mais qu'il soit le mieux placé en termes de prix 7 fois, lors des comparaisons, la macro va choisir les 3 produits ou l'écart de prix avec le vendeur suivant est le plus grand : en gros, s'il y a une différence de prix de 1 € et une autre de 100 € sur le 3e et dernier produit à sélectionner (les 2 1er ayant déjà une différence supérieure à celle du 3e produit à choisir), le programme va choisir le produit où la différence de prix est de 100 €, cela suppose néanmoins que tout ton tableau soit bâti de façon à ce que les unités de mesure de tes produits soient les mêmes... autrement dit, la macro ne fera pas une sélection efficace si tu affectes le prix des canettes de boissons gazeuses à l'unité et parallèlement, et celui de l'eau de vie au tonneau... il sera judicieux d'intégrer les prix de toutes tes boissons au litre, par exemple... (idéalement, tous les prix de tes produits seraient au kg, ou à la tonne ou au litre et n'importe quelle autre unité de mesure commune); j'espère que c'est clair.

bonjour game over

je suis très heureux d'avoir une réponse de votre part je vous remercie de l'effort

il parait que quelques améliorations seront utiles

les prix proposés sont des prix unitaires pour chaque produit

ci-joint d'autres tableaux avec qq remarques

"" je suis nul en VBA ""

Bonjour chamseddine,

le bug du 'max"vendeur3"=1' a été corrigé.

Le prix a été rajouté aux résultats.

Il ne sera possible de traiter qu'un seul tableau à la fois : copier-coller le tableau requis à partir de la cellule A1 de Feuil2 et lancer la macro.

Les résultats sont maintenant affichés dans une nouvelle feuille appelée Resultat.

Je te laisse faire les tests et me rapporter éventuels les bugs.

bonjour game over

j'ai compris la manipulation à faire mais

le résultat ne s’avère pas correcte

en effet j'ai transformer tous les max en 1;1;1;1;1;etc

le programme n'a pas tenue compte de cela

je vous transmet ci-joint le fichier

je vous remercie de votre aide

a+

L'erreur est maintenant corrigée

hello game over

le programme fonctionne convenablement

1000 bravos pour votre aide très appréciable

vu que je suis nul en VBA, est-il possible de m'expliquer encore plus

le déroulement du programme?

avec qq commentaires pour suivre

votre raisonnement et comprendre les séquences .

pour le moment j'utilise la mise en forme conditionnelle pour colorer le resultat

dans le tableau traité

encore un grand merci pour votre patience

a +

Bonjour chamseddine,

voici le principe du programme :

la macro commence d'abord par trier chaque colonne du tableau pour chaque vendeur; si le vendeur en cours de traitement est le premier apparaissant dans le tri, alors la macro enregistre le nom du vendeur, le produit, le prix du produit et la différence de prix avec le vendeur en 2nde position dans un tableau (un tableau est une variable un peu particulière qui enregistre les informations dans la mémoire de l'ordinateur et non un tableau comme celui que tu retrouves sur feuil2).

Pour chaque vendeur, lorsque le traitement de toutes les colonnes a été effectué, si le tableau n'est pas vide alors les éléments du tableau vont être triés de façon décroissante en ce qui concerne la différence de prix avec le second de la liste.

L'étape suivante consiste à afficher les résultats dans la limite du nombre d'entrées autorisées par la colonne max du tableau.

Une fois cette opération effectuée, il se peut que certaines colonnes n'aient pas été traitées, alors va macro va répérer les colonnes qui n'ont pas encore de vendeur et rechercher le premier vendeur disponible (dont le nombre d'affichages dans les résultats est encore inférieur à son max) et compléter la liste de résultats ainsi.

voilà, j'espère que c'est un peu plus clair.

bonjour Game over

merci pour votre aide

je garde un bon souvenir de ce contact

a+

Rechercher des sujets similaires à "choix minimal conditions"