[Excel VBA] Erreurs d'arrondis
Résolu
Kvo
Messages postés
27
Statut
Membre
-
pachi -
pachi -
Bonjour,
J'ai un petit souci avec une macro VBA sous Excel qui me sert à arrondir une liste de valeurs au quatrième chiffre après la virgule.
La formule "round" d'Excel arrondit normalement selon les conventions à savoir :
- au chiffre supérieur de 0.50 à 0.99
- au chiffre inférieur de 0.01 à 0.49
Je dis bien "normalement" car j'obtiens des erreurs...
Prenons par exemple le chiffre 45.70625.
Arrondi dans le tableur avec la fonction =round(cellule,4), j'obtiens 45.7063 --> JUSTE
Arrondi avec une macro sous VBA avec la même fonction j'obtiens 45.7062 --> FAUX
Ce n'est pas bien grave dans l'absolu mais j'utilise ce code à des fins comptables et j'ai donc besoin d'exactitude.
Pourriez-vous m'aider svp?
D'avance merci!
J'ai un petit souci avec une macro VBA sous Excel qui me sert à arrondir une liste de valeurs au quatrième chiffre après la virgule.
La formule "round" d'Excel arrondit normalement selon les conventions à savoir :
- au chiffre supérieur de 0.50 à 0.99
- au chiffre inférieur de 0.01 à 0.49
Je dis bien "normalement" car j'obtiens des erreurs...
Prenons par exemple le chiffre 45.70625.
Arrondi dans le tableur avec la fonction =round(cellule,4), j'obtiens 45.7063 --> JUSTE
Arrondi avec une macro sous VBA avec la même fonction j'obtiens 45.7062 --> FAUX
Ce n'est pas bien grave dans l'absolu mais j'utilise ce code à des fins comptables et j'ai donc besoin d'exactitude.
Pourriez-vous m'aider svp?
D'avance merci!
Configuration: Windows XP Internet Explorer 6.0
2 réponses
-
-
L'utilisation de la fonction « formatnumber » à la place de « round » corrige effectivement ce problème, merci!
Je suis tout de même curieux de savoir pourquoi Excel se trompe avec la fonction round, d'autant qu'en présence d'un 5 en 5ème décimale il arrondira tantôt par excès (juste) tantôt par défaut (faux) :/
Tu m’enlèves en tout cas ici une belle épine du pied, encore merci.