Forum Clubic

VBA gardé que la valeur des centainese etc

Bonjour,
j’ai un petit programme VBA excel a rendre ou l’on doit faire la saisit d’un montant ensuite calculé combien il faut rendre de monnaie celon ce que le client a donné

donc je me suis suis dis je vais décomposé et mettre une variable pour chaque type de monnaie ( billet de 100, billet de 50, billet 10, piece de 2euro etc…)
donc j’aimerai savoir s’il y a une fontion qui me permettrai par exemple avec un montant a rendre de 254 de récupéré le 200 ou 2 ce qui me permettrait de l’affecté a la variable billet de 100 et ensuite restituer rendre 2 billet de 100, un de 50euro et 2 pièce de 2 euros, enfin jespere que mon explication est assez clair

sinon voila le sujet
écrire algo permettant de saisir le montant dû par un client, l’argent donné par le client, de calculer le montant à rendre et le détail de la monnaie rendue.
ex :
Montant dû : 7.5
argent donné : 10
montant à rendre : 2.5
monnaie rendue : 1 pièce de 2 et une pièce de 0.5

et voila ce que j’ai deja réalisé

Option Explicit
Option Base 1
Private Sub algo_Click()

Dim montantdu As Double
Dim argentdonne As Double
Dim montantrendre As Double
Dim monnaierendue As Double
Dim montantencoreadonne As Double
Dim monnaierendre As Double
Dim billet100 As Integer
Dim billet50 As Integer
Dim billet20 As Integer
Dim billet10 As Integer
Dim billet5 As Integer
Dim piece2 As Integer
Dim piece1 As Integer
Dim piece50 As Integer
Dim piece20 As Integer
Dim piece10 As Integer
Dim piece5 As Integer
Dim piece1cent As Integer

montantdu = InputBox("Montant dû : ")
argentdonne = InputBox(“Combien le client à t’il donné?”)

If montantdu > argentdonne Then
montantencoreadonne = montantdu - argentdonne
MsgBox ("Le client doit donné encore : " & montantencoreadonne)
Else
monnaierendre = argentdonne - montantdu
End If

MsgBox ("le montant de la monnaie à rendre est de :" & monnaierendre)
If monnaierendre > 100 Then

:hello:

je ferais :

1/ avec la fonction STR, tu transforme les variables en type String

2/ tu utilise les fonctions de type LEFT et RIGHT pour manipuler les chaines et extraire les chiffres que tu veux

Pas besoin de convertir en STR :wink:

Suffit de faire des divisions successives et de ne garder que la partie entière (avec la fonction INT)
Par exemple, avec 254€ à rendre :
254/100 = 2.54
INT(254/100)=2 -> 2 billets de 100€

254-INT(254/100)*100=54
54/10=5.4
INT(5.4)=5 -> 1 billet de 50€

Je te laisse réfléchir sur comment régler le "problème" des billets de 50€ ou billets de 10€ (de même que les billets de 500€ ou billets de 100€)

:hello:

a ouai bien jouer je test