Bonjour à toutes et à tous !
Alors voilà, j'ai un petit soucis avec la fonction ROUND.
Dans une macro VBA, je dois faire la moyenne de plusieurs variables, et ce sans chiffre après la virgule. J'ai donc décidé de d'utiliser cette fonction pour arrondir à "0 chiffre après la virgule".
ça fonctionne correctement, sauf dans un cas bien particulier. En effet, lorsque le résultat brut de la moyenne tombe sur XXXX,5 round me renvoie XXXX et non XXXX + 1 comme il devrait le faire en suivant les règles d'arrondi.
Par exemple, dans le code suivant :
Sub essai()
a = 3710
b = 3782
c = 3733
d = 3721
e = Round((a + b + c + d) / 4, 0)
End Sub
La moyenne "e" des quatre valeurs "a, b, c, d" donne 3736,5. Donc l'arrondi devrait renvoyer 3737. Or, ici j'ai 3636 !
Si j'ajoute 1 à une des variables pour avoir 3736,75 de moyenne, l'arrondi me renvoi bien 3737 (donc correct).
Y'a-t-il un truc que j'ai pas compris, ou j'ai faux quelque part ??
Merci par avance pour votre aide !!
Jérôme
Alors voilà, j'ai un petit soucis avec la fonction ROUND.
Dans une macro VBA, je dois faire la moyenne de plusieurs variables, et ce sans chiffre après la virgule. J'ai donc décidé de d'utiliser cette fonction pour arrondir à "0 chiffre après la virgule".
ça fonctionne correctement, sauf dans un cas bien particulier. En effet, lorsque le résultat brut de la moyenne tombe sur XXXX,5 round me renvoie XXXX et non XXXX + 1 comme il devrait le faire en suivant les règles d'arrondi.
Par exemple, dans le code suivant :
Sub essai()
a = 3710
b = 3782
c = 3733
d = 3721
e = Round((a + b + c + d) / 4, 0)
End Sub
La moyenne "e" des quatre valeurs "a, b, c, d" donne 3736,5. Donc l'arrondi devrait renvoyer 3737. Or, ici j'ai 3636 !
Si j'ajoute 1 à une des variables pour avoir 3736,75 de moyenne, l'arrondi me renvoi bien 3737 (donc correct).
Y'a-t-il un truc que j'ai pas compris, ou j'ai faux quelque part ??
Merci par avance pour votre aide !!
Jérôme