Bonne année à tous
Je croyais avoir réglé mon souci d'arrondi, mais visiblement non ou alors c'est dans la conversion que je me trompe.
Soit le code suivant, que vous pouvez copier coller dans une Sub toute bête et faire un call dessus, tout y est :
L'exécution donnera dans la fenêtre Immediate "Charge en rouge" alors que c'est pas vrai, le calcul doit tomber juste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Dim dblMtBrutBase, dblMtTaxeBase, dblMtnetBase, dblMtchargeBase, dblResultTaxe As Double dblMtBrutBase = 10198.75 dblMtTaxeBase = 30 dblMtchargeBase = 0 dblMtnetBase = 7139.12 If Round((dblMtBrutBase - ((dblMtBrutBase * dblMtTaxeBase) / 100)) - 0.000001, 2) <> dblMtnetBase And dblMtchargeBase = 0 Then 'MtTaxeBase.BackColor = lngRed Debug.Print "Taxe en Rouge" Else dblResultTaxe = Round((((dblMtBrutBase * dblMtTaxeBase) / 100) - 0.000001), 2) End If If dblMtBrutBase - dblResultTaxe - dblMtchargeBase <> dblMtnetBase Then 'MtChargeBase.BackColor = lngRed Debug.Print "Charge en Rouge" End If
Il y a truc avec dblResultTaxe qui me sort un 3059.625 de derrière les fagots et je comprend pas pourquoi. J'ai fait un arrondi, c'est pas pour du beurre, alors j'aimerais bien comprendre pourquoi le monsieur me traine le malheureux 5 à la fin qui me met la grouille dans mon test.
Bref, voilà, je comprends pas comment corriger cela.
Mais je suis sûr que ça doit être tout bête, comme toujours.....
Merci pour votre aide.
Plein de bonnes chose pour cette année 2018, pour vous tous et vos proches.
Partager