Répartition surplus

Bonjour,

J'ai un problème de répartition de surplus. Des magasins déclarent des quantités qui peuvent être différentes des quantités reçues. Je voudrais répartir les quantités reçues en surplus sur les magasins avec le pourcentage de remboursement le plus faible en procédant ainsi:

1) prendre des qté en surplus pour les allouer au magasin avec le remboursement le plus faible jusqu'à ce que le remboursement atteigne le niveau du 2e magasin le plus faible.

2) allouer les qté restantes sur les 2 magasins jusqu'à ce que le remboursement atteigne le niveau du 3e magasin, etc...

3) faire cela jusqu'à ce qu'il n'y ai plus de qté à allouer

Je pensais utiliser le solver, mais je ne suis pas sur de la manière d'utiliser les contraintes...

Toute aide est la bienvenue!

Bonjour,

du mal aussi à voir comment l'aborder avec le solver.

Fait avec une macro qui applique bêtement ton algorithme.

J'affecte 1 surplus au magasin qui a le plus bas nouveau remboursement, et on recommence tant qu'il en reste.

Si tu as une quantité phénoménale de surplus on verra pour faire autrement que ce soit plus rapide si besoin est.

eric

J'ai fait quelques essais mais il semble que ce ne sera pas possible avec le solver, mon fichier final comportant plusieurs centaines de lignes, j'arrive au bout des capacités d'Excel :p

Merci eriiic pour le fichier, cela semble bien convenir à mes besoins!

Je comprends à peu près le vba mais je suis loin d'être un pro: pourrais-tu m'expliquer l'utilité de l'option "explicit" ainsi que le rôle du "evaluate"?

Option Explicit force à déclarer toutes les variables.

Ainsi si tu as déclaré surplus et que tu utilises suplus tu es alerté tout de suite. Ce sont des erreurs très difficiles à voir dans un grand programme et il peut s'écouler plusieurs jours avant que tu t'aperçoives que tu retournais des résultats erronés à cause de ça.

Dans outils / options de vbe cocher 'Déclaration obligatoire des variables' pour qu'il se mette automatiquement.

Pour Evaluate faire F1 dessus pour avoir l'aide. Evalue le contenu d'une expression.

L'aide c'excel est très bien faite et complète.

Evaluate("SUMIF(E:E,"">0"")") : somme des diff positives (surplus à réattribuer)

Evaluate("MATCH(MIN(I:I),I:I,0)") : n° de ligne ayant le plus faible nouveau remboursement

eric

Ok, je comprends!

Merci

Je vais faire le difficile, je souhaiterais rajouter une contrainte car je suis susceptible d'avoir plusieurs produits par magasins: il faudrait répartir les unités en excès d'un certains produits sur les magasins qui sont en déficit de ce même produit (toujours en partant du magasins ayant le plus grand déficit.

Comment serait-il possible de procéder?

Rechercher des sujets similaires à "repartition surplus"