Aide au remboursement des commande monnaie
Résolu/Fermé
Newtonien
-
27 déc. 2015 à 23:06
Hydr0s Messages postés 1678 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 24 août 2022 - 28 déc. 2015 à 18:25
Hydr0s Messages postés 1678 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 24 août 2022 - 28 déc. 2015 à 18:25
A voir également:
- Aide au remboursement des commande monnaie
- Invite de commande - Guide
- Commande terminal mac - Guide
- Porte monnaie vinted - Guide
- Conversion monnaie - Télécharger - Banque & Budget
- Commande chkdsk - Guide
1 réponse
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
856
28 déc. 2015 à 04:29
28 déc. 2015 à 04:29
Bonjour,
voilà un exemple de solution par formule : https://www.cjoint.com/c/ELCdkk7LJjS
J'y ai mis également une version matricielle plus concise mais moins compréhensible.
Le détail est en colonne G:G
Les valeurs à saisir sont en jaune.
Il y a deux MFC qui gère les solutions insuffisamment régulières.
Je suis parti du calcul de la répartition du coffre-commande (1730-870=860 sur ton exemple) avec les billets contenus dans le coffre.
J'ai fait la somme des valeurs unitaires des billets du coffre de départ (5+10+20+50 soit 85)
J'en ai déduit qu'il fallait 10,12 et des poussières de cette somme de 85 pour faire les 860.
J'ai pris la partie entière, 10, ce qui permet d'atteindre 850.
Il manque 10 pour faire 860.
La table de répartition des delta indique que un écart de 10 est compensé par un ajout de 1 billet de 10. Cette table est modifiable car il y a plusieurs possibilité d'atteindre un delta. Je pense avoir choisi la plus optimale en terme de nombre de billets à ajouter.
A partir de là, il suffit d'ajouter 1 billet de 10 à la moyenne de 10 pour obtenir le résultat du nouveau coffre et, par soustraction, les nombres de billets à sortir pour la commande.
Je sais que cette solution risque d'être mise à mal dans les cas de coffres de départ peu "harmonieux" en quantité de billets.
C'est en tout cas une idée assez simple.
cordialement
voilà un exemple de solution par formule : https://www.cjoint.com/c/ELCdkk7LJjS
J'y ai mis également une version matricielle plus concise mais moins compréhensible.
Le détail est en colonne G:G
Les valeurs à saisir sont en jaune.
Il y a deux MFC qui gère les solutions insuffisamment régulières.
Je suis parti du calcul de la répartition du coffre-commande (1730-870=860 sur ton exemple) avec les billets contenus dans le coffre.
J'ai fait la somme des valeurs unitaires des billets du coffre de départ (5+10+20+50 soit 85)
J'en ai déduit qu'il fallait 10,12 et des poussières de cette somme de 85 pour faire les 860.
J'ai pris la partie entière, 10, ce qui permet d'atteindre 850.
Il manque 10 pour faire 860.
La table de répartition des delta indique que un écart de 10 est compensé par un ajout de 1 billet de 10. Cette table est modifiable car il y a plusieurs possibilité d'atteindre un delta. Je pense avoir choisi la plus optimale en terme de nombre de billets à ajouter.
A partir de là, il suffit d'ajouter 1 billet de 10 à la moyenne de 10 pour obtenir le résultat du nouveau coffre et, par soustraction, les nombres de billets à sortir pour la commande.
Je sais que cette solution risque d'être mise à mal dans les cas de coffres de départ peu "harmonieux" en quantité de billets.
C'est en tout cas une idée assez simple.
cordialement
28 déc. 2015 à 09:29
A bientôt
28 déc. 2015 à 09:52
Génial cette solution ! Cependant, peux-tu m'éclaircir certains points des formules (la, j'ai découvert que je connaissais rien à excel ^^) :
Merci d'avance de tes réponses...
28 déc. 2015 à 16:53
Répartition des billets selon Delta : à la main.
en fait, la séquence 5 à 95 se répète pour chaque centaine, donc c'est très rapide à faire.
J'ai préféré une table plutôt qu'un algorithme pour simplifier et offrit plus de souplesse.
nom à une variable : tout simplement via le ruban par l'onglet formules\définir un nom.
j'ai aussi souvent utilisé créer depuis sélection parce que c'est plus rapide.
(D3:D9<>0) dans =SOMMEPROD((D3:D9<>0)*C3:C9) : je voulais faire la somme des coupures présentes dans le coffre. il fallait donc éliminer les valeurs nulles. d'où le différent de zéro (<>0) pour D3:D9.
certaines formules sont entre { } : ce sont des formules matricielles. on les obtiens en sélectionnant une zone de cellules (I3:I9 dans mon modèle), en mettant la formule ( ) dans la zone d'édition (là où il y a le fx) et, pour finir, en validant par CTRL+MAJ+ENTER.
Les formules matricielles sont très puissantes; elles concentrent les calculs intermédiaires et simplifient la présentation du résultat, elles remplacent avantageusement (pour ceux qui ne connaissent pas VBA) des lignes de codes de macros mais elles ont l'inconvénient d'être difficile à comprendre et donc à maintenir et de devenir très consommatrices de ressources (processeur/mémoire).
le VBA reprends rapidement le pouvoir lorsqu'il y a beaucoup de données à traiter.
cordialement
28 déc. 2015 à 18:25