XL 2016 Distribution de prix

EliotNaiss

XLDnaute Nouveau
Bonjour à toutes et tous.
Je faisais jusqu'à ce jour une gymnastique manuelle prise de tête, mais je me demande si ceci ne pourrait pas être réalisé automatiquement ??
Je compte sur vous pour me donner vos avis et, pourquoi pas, une grosses aide pour atteindre mon but.
Je vous expose mon problème.

Je suis en présence d'un nombre variable de personnes (Pers) au maximum 14.
Je dois répartir une somme précise à chaque Pers (somme sous son identifiant) avec X chèques (Colonne B) et un peu d'espèces (C4).
En fin de répartition, il doit rester une somme Y de 500€ (Y peut être variable aussi),
Je cherche un moyen qui me permettrait d'attribuer les chèques et espèces à chaque Pers.
En espérant m'être bien expliqué, je vous envoie ma feuille Excel en format pdf, si vous la voulez en xlsx dites-le moi.
Avez-vous une idée ?

Merci beaucoup par avance.
Cordialement.
 

Pièces jointes

  • Ventilation Argent.pdf
    304.7 KB · Affichages: 18

EliotNaiss

XLDnaute Nouveau
@mapomme : Pour t'éviter une modélisation, voici le fichier (onglet feuil1 (2)).

Télécharge d'abord opensolver, lance Solve dans l'onglet données\opensolver.

Auparavant, va dans données\model\options et coche "show optimisation progress while solving" pour voir une miniature d'écran msdos qui te liste les itérations de la résolution, la faisabilité et la durée d'exécution (1,41s chez moi).

Cordialement
Bonjour ODJV.
Je reviens sur le fil, je suis en train d'adapter ta solution à mon problème, ca marche super !
Mais en effet si je n'ai pas d'espèces, cela tourne en rond sans trouver de solution, mais je contourne cela en troquant 1 chèque par des espèces ;) !
J'ai créé un bouton sur ma feuille pour lancer "Solve", mais je n'arrive pas à créer la macro correspondante, même via l'enregistreur.
Sais-tu comment faire ?
merci encore.
1034838
 

ODVJ

XLDnaute Impliqué
Bonsoir,

Regarde ici
For example, you can run OpenSolver as follows:

Dim Result as OpenSolverResult
Result = RunOpenSolver(False, True) ' do not relax IP, do hide dialogs

Result will be one of the following: OpenSolverResult.ErrorOccurred, OpenSolverResult.Optimal, OpenSolverResult.Unbounded, OpenSolverResult.Infeasible, OpenSolverResult.TimeLimitedSubOptimal

Cordialement
 

EliotNaiss

XLDnaute Nouveau
Bonsoir,

Regarde ici


Cordialement
Merci pour le lien, en fait cela fonctionne bien avec ces lignes que j'ai recopié en intégralité :):
Sub DoRunOpenSolver()
' Run OpenSolver assuming it has been opened (but without requiring a reference to OpenSolver). Ask the user to open OpenSolver if it is not currently open.
On Error GoTo errHandler_NoOpenSolver
Application.Run "OpenSolver.xlam!RunOpenSolver"
On Error GoTo errHandler
Exit Sub
errHandler:
Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext
errHandler_NoOpenSolver:
Err.Clear
MsgBox "This workbook requires OpenSolver, a free Excel addin available at http://opensolver.org" + vbCrLf + vbCrLf + "Please install & then open OpenSolver, and then try again.", vbOKOnly, "OpenSolver"
End Sub

Bonne soirée.
Cordialement.
 

Discussions similaires

Réponses
7
Affichages
374

Statistiques des forums

Discussions
312 294
Messages
2 086 871
Membres
103 402
dernier inscrit
regishar