Différence entre les fonctions Round() Excel et VBA ?
Est-ce que quelqu'un peut m'expliquer pourquoi la fonction round() dans une feuille de calcul est bien régie par la règle de l'arrondi mathématique alors que le round() en vba ne l'est pas? 8O
je m'attendais a ce que les deux fonctionnent exactement de la meme facon mais ca n'est pas le cas et je ne comprend pas du tout
Code:
Cells(1, 1) = WorksheetFunction.Round(0.5, 0)
Donne 1, ce qui me semble le comportement normal et attendu (c'est a dire l'arrondi mathématique, si la décimale est <5 on arrondi a l'inférieur, si c'est >=5 on arrondi au supérieur)
Code:
Cells(1, 2) = Round(0.5, 0)
donne 0 8O
pire encore, si on fait
Code:
1 2 3 4 5 6 7 8
| Cells(1, 1) = WorksheetFunction.Round(0.5, 0)
Cells(1, 2) = Round(0.5, 0)
Cells(2, 1) = WorksheetFunction.Round(1.5, 0)
Cells(2, 2) = Round(1.5, 0)
Cells(3, 1) = WorksheetFunction.Round(2.5, 0)
Cells(3, 2) = Round(2.5, 0)
Cells(4, 1) = WorksheetFunction.Round(3.5, 0)
Cells(4, 2) = Round(3.5, 0) |
on constate que 1,5 et 3,5 sont arrondi "correctement" a 2 et a 4
:calim2: :aie:
est-ce que quelqu'un a la moindre explication pour ce comportement farfellu?