Dans le code ci-dessous se produit des erreurs de calcul avec:
0.37
0.47
0.57
etc...
alors que
1.37 ou 1.47 et 1.57 ne posent pas de problème.
Sur xl97
Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations
JJ
'-------------
bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10",
0.05, 0.02, 0.01)
x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de billets et
de pièces")
msg = "Montant= " & x & Chr$(10) & Chr$(10)
If Val(x) = 0 Then Exit Sub
For i = 0 To 6
y = Int(x / bil(i))
If y > 1 Then
msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10)
End If
x = x - (y * bil(i))
Next
For j = i To 14
y = Int(x / bil(j))
If y > 1 Then
msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10)
End If
x = x - (y * bil(j))
Next
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
j
pb amusant ! excel ne fait pas toujours des calculs parfaitement exacts ! en cas de grande fatique, Excel peut indiquer 0.999999999 au lieu de 1 et quand tu fais int(0.999999), tu obtiens 0 au lieu de 1 ! dans ta macro, tu peux remplacer y=int(x/bil(j)) par y = Int(0.000001 + x / bil(j)) c'est pas très très propre, mais ça marche...
http://jacxl.free.fr
"Jacky" a écrit dans le message de news:
Bonjour à tous
Dans le code ci-dessous se produit des erreurs de calcul avec: 0.37 0.47 0.57 etc... alors que 1.37 ou 1.47 et 1.57 ne posent pas de problème. Sur xl97 Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations JJ '------------- bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10", 0.05, 0.02, 0.01) x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de billets et
de pièces") msg = "Montant= " & x & Chr$(10) & Chr$(10) If Val(x) = 0 Then Exit Sub For i = 0 To 6 y = Int(x / bil(i)) If y > 1 Then msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10) End If x = x - (y * bil(i)) Next
For j = i To 14 y = Int(x / bil(j)) If y > 1 Then msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10) End If x = x - (y * bil(j)) Next
MsgBox msg '--------------
pb amusant !
excel ne fait pas toujours des calculs parfaitement exacts !
en cas de grande fatique, Excel peut indiquer 0.999999999 au lieu de 1
et quand tu fais int(0.999999), tu obtiens 0 au lieu de 1 !
dans ta macro, tu peux remplacer y=int(x/bil(j)) par
y = Int(0.000001 + x / bil(j))
c'est pas très très propre, mais ça marche...
j@c
http://jacxl.free.fr
"Jacky" <delaenlevezjusqueiciJacky.jaeg@w......o.fr> a écrit dans le message
de news: uNGDduX3EHA.1152@TK2MSFTNGP14.phx.gbl...
Bonjour à tous
Dans le code ci-dessous se produit des erreurs de calcul avec:
0.37
0.47
0.57
etc...
alors que
1.37 ou 1.47 et 1.57 ne posent pas de problème.
Sur xl97
Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations
JJ
'-------------
bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10",
0.05, 0.02, 0.01)
x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de billets
et
de pièces")
msg = "Montant= " & x & Chr$(10) & Chr$(10)
If Val(x) = 0 Then Exit Sub
For i = 0 To 6
y = Int(x / bil(i))
If y > 1 Then
msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10)
End If
x = x - (y * bil(i))
Next
For j = i To 14
y = Int(x / bil(j))
If y > 1 Then
msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10)
End If
x = x - (y * bil(j))
Next
pb amusant ! excel ne fait pas toujours des calculs parfaitement exacts ! en cas de grande fatique, Excel peut indiquer 0.999999999 au lieu de 1 et quand tu fais int(0.999999), tu obtiens 0 au lieu de 1 ! dans ta macro, tu peux remplacer y=int(x/bil(j)) par y = Int(0.000001 + x / bil(j)) c'est pas très très propre, mais ça marche...
http://jacxl.free.fr
"Jacky" a écrit dans le message de news:
Bonjour à tous
Dans le code ci-dessous se produit des erreurs de calcul avec: 0.37 0.47 0.57 etc... alors que 1.37 ou 1.47 et 1.57 ne posent pas de problème. Sur xl97 Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations JJ '------------- bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10", 0.05, 0.02, 0.01) x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de billets et
de pièces") msg = "Montant= " & x & Chr$(10) & Chr$(10) If Val(x) = 0 Then Exit Sub For i = 0 To 6 y = Int(x / bil(i)) If y > 1 Then msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10) End If x = x - (y * bil(i)) Next
For j = i To 14 y = Int(x / bil(j)) If y > 1 Then msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10) End If x = x - (y * bil(j)) Next
MsgBox msg '--------------
AV
Dans le fil du 03/12/04 18:01 Il y a la question et des réponses
AV
Dans le fil du
03/12/04 18:01
Il y a la question et des réponses
Dans le fil du 03/12/04 18:01 Il y a la question et des réponses
AV
Jacky
Bonjour Alain
J'ai vu, mais celle de Pounet95 me fait une erreur sur Replace.. Reste = CDbl(Replace(Rep, ".", ",")) C'est pour cela que j'ai construit la mienne. Sur un autre PC (nt -xl 97) avec mon code j'ai l'erreur 13 type incompatible sur ''y = Int(x / bil(j))'' Je ne saisie pas tout à fait la cause. Solution peut-être pour que mon code fonctionne sans erreur ??
Salutations JJ
"AV" a écrit dans le message de news:
Dans le fil du 03/12/04 18:01 Il y a la question et des réponses
AV
Bonjour Alain
J'ai vu, mais celle de Pounet95 me fait une erreur sur Replace..
Reste = CDbl(Replace(Rep, ".", ","))
C'est pour cela que j'ai construit la mienne.
Sur un autre PC (nt -xl 97) avec mon code j'ai l'erreur 13 type
incompatible sur ''y = Int(x / bil(j))''
Je ne saisie pas tout à fait la cause.
Solution peut-être pour que mon code fonctionne sans erreur ??
Salutations
JJ
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de
news:OBaZLBc3EHA.3380@TK2MSFTNGP09.phx.gbl...
Dans le fil du
03/12/04 18:01
Il y a la question et des réponses
J'ai vu, mais celle de Pounet95 me fait une erreur sur Replace.. Reste = CDbl(Replace(Rep, ".", ",")) C'est pour cela que j'ai construit la mienne. Sur un autre PC (nt -xl 97) avec mon code j'ai l'erreur 13 type incompatible sur ''y = Int(x / bil(j))'' Je ne saisie pas tout à fait la cause. Solution peut-être pour que mon code fonctionne sans erreur ??
Salutations JJ
"AV" a écrit dans le message de news:
Dans le fil du 03/12/04 18:01 Il y a la question et des réponses
AV
Jacky
Bonjour
Je n'ai pas encore pu tester ta solution , pour le moment sur un autre pc (nt xl97) , j'ai l'erreur 13 '' type incompatible'' sur " y = Int(x / bil(j))" Tu as une idée ??
Salutations JJ
"" a écrit dans le message de news:41b7ec4a$0$30124$
pb amusant ! excel ne fait pas toujours des calculs parfaitement exacts ! en cas de grande fatique, Excel peut indiquer 0.999999999 au lieu de 1 et quand tu fais int(0.999999), tu obtiens 0 au lieu de 1 ! dans ta macro, tu peux remplacer y=int(x/bil(j)) par y = Int(0.000001 + x / bil(j)) c'est pas très très propre, mais ça marche...
http://jacxl.free.fr
"Jacky" a écrit dans le message
de news:
Bonjour à tous
Dans le code ci-dessous se produit des erreurs de calcul avec: 0.37 0.47 0.57 etc... alors que 1.37 ou 1.47 et 1.57 ne posent pas de problème. Sur xl97 Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations JJ '------------- bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10", 0.05, 0.02, 0.01) x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de billets
et
de pièces") msg = "Montant= " & x & Chr$(10) & Chr$(10) If Val(x) = 0 Then Exit Sub For i = 0 To 6 y = Int(x / bil(i)) If y > 1 Then msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10) End If x = x - (y * bil(i)) Next
For j = i To 14 y = Int(x / bil(j)) If y > 1 Then msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10) End If x = x - (y * bil(j)) Next
MsgBox msg '--------------
Bonjour j@c
Je n'ai pas encore pu tester ta solution , pour le moment sur un autre pc
(nt xl97) , j'ai l'erreur 13 '' type incompatible''
sur " y = Int(x / bil(j))"
Tu as une idée ??
Salutations
JJ
"j@c" <adresse_bidon@bidon.fr> a écrit dans le message de
news:41b7ec4a$0$30124$626a14ce@news.free.fr...
pb amusant !
excel ne fait pas toujours des calculs parfaitement exacts !
en cas de grande fatique, Excel peut indiquer 0.999999999 au lieu de 1
et quand tu fais int(0.999999), tu obtiens 0 au lieu de 1 !
dans ta macro, tu peux remplacer y=int(x/bil(j)) par
y = Int(0.000001 + x / bil(j))
c'est pas très très propre, mais ça marche...
j@c
http://jacxl.free.fr
"Jacky" <delaenlevezjusqueiciJacky.jaeg@w......o.fr> a écrit dans le
message
de news: uNGDduX3EHA.1152@TK2MSFTNGP14.phx.gbl...
Bonjour à tous
Dans le code ci-dessous se produit des erreurs de calcul avec:
0.37
0.47
0.57
etc...
alors que
1.37 ou 1.47 et 1.57 ne posent pas de problème.
Sur xl97
Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations
JJ
'-------------
bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10",
0.05, 0.02, 0.01)
x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de
billets
et
de pièces")
msg = "Montant= " & x & Chr$(10) & Chr$(10)
If Val(x) = 0 Then Exit Sub
For i = 0 To 6
y = Int(x / bil(i))
If y > 1 Then
msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10)
End If
x = x - (y * bil(i))
Next
For j = i To 14
y = Int(x / bil(j))
If y > 1 Then
msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10)
End If
x = x - (y * bil(j))
Next
Je n'ai pas encore pu tester ta solution , pour le moment sur un autre pc (nt xl97) , j'ai l'erreur 13 '' type incompatible'' sur " y = Int(x / bil(j))" Tu as une idée ??
Salutations JJ
"" a écrit dans le message de news:41b7ec4a$0$30124$
pb amusant ! excel ne fait pas toujours des calculs parfaitement exacts ! en cas de grande fatique, Excel peut indiquer 0.999999999 au lieu de 1 et quand tu fais int(0.999999), tu obtiens 0 au lieu de 1 ! dans ta macro, tu peux remplacer y=int(x/bil(j)) par y = Int(0.000001 + x / bil(j)) c'est pas très très propre, mais ça marche...
http://jacxl.free.fr
"Jacky" a écrit dans le message
de news:
Bonjour à tous
Dans le code ci-dessous se produit des erreurs de calcul avec: 0.37 0.47 0.57 etc... alors que 1.37 ou 1.47 et 1.57 ne posent pas de problème. Sur xl97 Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations JJ '------------- bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10", 0.05, 0.02, 0.01) x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de billets
et
de pièces") msg = "Montant= " & x & Chr$(10) & Chr$(10) If Val(x) = 0 Then Exit Sub For i = 0 To 6 y = Int(x / bil(i)) If y > 1 Then msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10) End If x = x - (y * bil(i)) Next
For j = i To 14 y = Int(x / bil(j)) If y > 1 Then msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10) End If x = x - (y * bil(j)) Next
MsgBox msg '--------------
AV
J'ai vu, mais celle de Pounet95 me fait une erreur sur Replace.. Reste = CDbl(Replace(Rep, ".", ","))
C'est parceque tu fonctionnes sous XL97 pour une instruction compatible : Remplacer Reste = CDbl(Replace(Rep, ".", ",")) par Reste = CDbl(Application.Substitute(Rep, ".", ","))
AV
J'ai vu, mais celle de Pounet95 me fait une erreur sur Replace..
Reste = CDbl(Replace(Rep, ".", ","))
C'est parceque tu fonctionnes sous XL97
pour une instruction compatible :
Remplacer
Reste = CDbl(Replace(Rep, ".", ","))
par
Reste = CDbl(Application.Substitute(Rep, ".", ","))
J'ai vu, mais celle de Pounet95 me fait une erreur sur Replace.. Reste = CDbl(Replace(Rep, ".", ","))
C'est parceque tu fonctionnes sous XL97 pour une instruction compatible : Remplacer Reste = CDbl(Replace(Rep, ".", ",")) par Reste = CDbl(Application.Substitute(Rep, ".", ","))
AV
Jacky
Ok Merci, je vais faire. Heu! et la mienne à moi tout seul ;-) ne te plait pas ??
JJ
"AV" a écrit dans le message de news:
J'ai vu, mais celle de Pounet95 me fait une erreur sur Replace.. Reste = CDbl(Replace(Rep, ".", ","))
C'est parceque tu fonctionnes sous XL97 pour une instruction compatible : Remplacer Reste = CDbl(Replace(Rep, ".", ",")) par Reste = CDbl(Application.Substitute(Rep, ".", ","))
AV
Ok Merci, je vais faire.
Heu! et la mienne à moi tout seul ;-) ne te plait pas ??
JJ
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de
news:uhFhfwd3EHA.1260@TK2MSFTNGP12.phx.gbl...
J'ai vu, mais celle de Pounet95 me fait une erreur sur Replace..
Reste = CDbl(Replace(Rep, ".", ","))
C'est parceque tu fonctionnes sous XL97
pour une instruction compatible :
Remplacer
Reste = CDbl(Replace(Rep, ".", ","))
par
Reste = CDbl(Application.Substitute(Rep, ".", ","))
Ok Merci, je vais faire. Heu! et la mienne à moi tout seul ;-) ne te plait pas ??
JJ
"AV" a écrit dans le message de news:
J'ai vu, mais celle de Pounet95 me fait une erreur sur Replace.. Reste = CDbl(Replace(Rep, ".", ","))
C'est parceque tu fonctionnes sous XL97 pour une instruction compatible : Remplacer Reste = CDbl(Replace(Rep, ".", ",")) par Reste = CDbl(Application.Substitute(Rep, ".", ","))
AV
Jacky
Presque aussi têtu que Pounet Pour ceux que cela interresse le code qui fonctionne '-------------- bil = Array("500", "200", "100", "50", "20", "10", "5", "2", "1", "0.50", "0.20", "0.10", "0.05", "0.02", "0.01") x = InputBox("Entrez la somme à distribuer", "Calcul le nombre de billets et de pièces") x = Format(Val(x), "0.00") If x = 0 Then Exit Sub msg = "Montant= " & x & Chr$(10) & Chr$(10) For i = 0 To 6 y = Int(0.000001 + x / Val(bil(i))) If y > 1 Then msg = msg & y & " Billets de .." & bil(i) & " ?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Billet de ..." & bil(i) & " ?" & Chr$(10) End If x = x - Val((y * bil(i))) Next
For j = i To 14 y = Int(0.000001 + x / Val(bil(j))) If y > 1 Then msg = msg & y & " Pièces de .. " & bil(j) & " ?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Pièce de ..." & bil(j) & " ?" & Chr$(10) End If x = x - (y * Val(bil(j))) Next
MsgBox msg '-------------- JJ
"Jacky" a écrit dans le message de news:
Bonjour à tous
Dans le code ci-dessous se produit des erreurs de calcul avec: 0.37 0.47 0.57 etc... alors que 1.37 ou 1.47 et 1.57 ne posent pas de problème. Sur xl97 Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations JJ '------------- bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10", 0.05, 0.02, 0.01) x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de billets et
de pièces") msg = "Montant= " & x & Chr$(10) & Chr$(10) If Val(x) = 0 Then Exit Sub For i = 0 To 6 y = Int(x / bil(i)) If y > 1 Then msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10) End If x = x - (y * bil(i)) Next
For j = i To 14 y = Int(x / bil(j)) If y > 1 Then msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10) End If x = x - (y * bil(j)) Next
MsgBox msg '--------------
Presque aussi têtu que Pounet
Pour ceux que cela interresse le code qui fonctionne
'--------------
bil = Array("500", "200", "100", "50", "20", "10", "5", "2", "1", "0.50",
"0.20", "0.10", "0.05", "0.02", "0.01")
x = InputBox("Entrez la somme à distribuer", "Calcul le nombre de billets et
de pièces")
x = Format(Val(x), "0.00")
If x = 0 Then Exit Sub
msg = "Montant= " & x & Chr$(10) & Chr$(10)
For i = 0 To 6
y = Int(0.000001 + x / Val(bil(i)))
If y > 1 Then
msg = msg & y & " Billets de .." & bil(i) & " ?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Billet de ..." & bil(i) & " ?" & Chr$(10)
End If
x = x - Val((y * bil(i)))
Next
For j = i To 14
y = Int(0.000001 + x / Val(bil(j)))
If y > 1 Then
msg = msg & y & " Pièces de .. " & bil(j) & " ?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Pièce de ..." & bil(j) & " ?" & Chr$(10)
End If
x = x - (y * Val(bil(j)))
Next
MsgBox msg
'--------------
JJ
"Jacky" <delaenlevezjusqueiciJacky.jaeg@w......o.fr> a écrit dans le message
de news:uNGDduX3EHA.1152@TK2MSFTNGP14.phx.gbl...
Bonjour à tous
Dans le code ci-dessous se produit des erreurs de calcul avec:
0.37
0.47
0.57
etc...
alors que
1.37 ou 1.47 et 1.57 ne posent pas de problème.
Sur xl97
Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations
JJ
'-------------
bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10",
0.05, 0.02, 0.01)
x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de billets
et
de pièces")
msg = "Montant= " & x & Chr$(10) & Chr$(10)
If Val(x) = 0 Then Exit Sub
For i = 0 To 6
y = Int(x / bil(i))
If y > 1 Then
msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10)
End If
x = x - (y * bil(i))
Next
For j = i To 14
y = Int(x / bil(j))
If y > 1 Then
msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10)
ElseIf y > 0 Then
msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10)
End If
x = x - (y * bil(j))
Next
Presque aussi têtu que Pounet Pour ceux que cela interresse le code qui fonctionne '-------------- bil = Array("500", "200", "100", "50", "20", "10", "5", "2", "1", "0.50", "0.20", "0.10", "0.05", "0.02", "0.01") x = InputBox("Entrez la somme à distribuer", "Calcul le nombre de billets et de pièces") x = Format(Val(x), "0.00") If x = 0 Then Exit Sub msg = "Montant= " & x & Chr$(10) & Chr$(10) For i = 0 To 6 y = Int(0.000001 + x / Val(bil(i))) If y > 1 Then msg = msg & y & " Billets de .." & bil(i) & " ?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Billet de ..." & bil(i) & " ?" & Chr$(10) End If x = x - Val((y * bil(i))) Next
For j = i To 14 y = Int(0.000001 + x / Val(bil(j))) If y > 1 Then msg = msg & y & " Pièces de .. " & bil(j) & " ?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Pièce de ..." & bil(j) & " ?" & Chr$(10) End If x = x - (y * Val(bil(j))) Next
MsgBox msg '-------------- JJ
"Jacky" a écrit dans le message de news:
Bonjour à tous
Dans le code ci-dessous se produit des erreurs de calcul avec: 0.37 0.47 0.57 etc... alors que 1.37 ou 1.47 et 1.57 ne posent pas de problème. Sur xl97 Je ne pige pas pourquoi...Si quelqu'un pouvait tester.....
Salutations JJ '------------- bil = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, "0.50", "0.20", "0.10", 0.05, 0.02, 0.01) x = InputBox("Entrer la somme à distribuer", "Calcul le nombre de billets et
de pièces") msg = "Montant= " & x & Chr$(10) & Chr$(10) If Val(x) = 0 Then Exit Sub For i = 0 To 6 y = Int(x / bil(i)) If y > 1 Then msg = msg & y & " Billets de " & bil(i) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Billet de " & bil(i) & "?" & Chr$(10) End If x = x - (y * bil(i)) Next
For j = i To 14 y = Int(x / bil(j)) If y > 1 Then msg = msg & y & " Pièces de " & bil(j) & "?" & Chr$(10) ElseIf y > 0 Then msg = msg & y & " Pièce de " & bil(j) & "?" & Chr$(10) End If x = x - (y * bil(j)) Next
MsgBox msg '--------------
AV
Heu! et la mienne à moi tout seul ;-) ne te plait pas ??
Ben je la snobe pas mais je ne m'y suis pas penché dessus dans la mesure où des solutions avaient été données récemment
AV
Heu! et la mienne à moi tout seul ;-) ne te plait pas ??
Ben je la snobe pas mais je ne m'y suis pas penché dessus dans la mesure où des
solutions avaient été données récemment