Problème d'arrondi - Fonction ROUND

Bonjour à tous!

Par avance je vous présente mes excuses si le sujet est déjà traité ailleurs, je n'ai pas trouvé d'informations dessus.

Je viens de constater au détour d'un fichier ce qui ressemble à... Un bug? Je ne me l'explique pas, mais ça me parait trop aberrant et basique pour être une simple erreur de maths. Etant dans l'incapacité de voir ce qui m'échappe, je viens chercher votre aide et vos explications!

Lorsque dans une macro je tape la formule

MsgBox Round(1.25, 1)

j'obtiens la valeur "1.2".

Lorsque je tape

MsgBox Round(1.225, 2)

j'obtiens "1.23".

On dirait qu'Excel n'applique pas stricto sensu la règle du "si ça finit par un 5, on arrondi au dessus", et je n'arrive pas à comprendre pourquoi... Une règle de programmation qui m'échappe? Le programme de maths de primaire à revoir? Quoi qu'il en soit ça me retourne la tête

Merci par avance à celui qui pourra m'éclaircir ce mystère!

Bonjour et

C'est le fonctionnement normal de la fonction Round VBA. cf. Fonction Round (Visual Basic pour Applications) | Microsoft Learn

Elle applique un arrondi "bancaire" apparemment. Et comme on sait que tous les banquiers sont des voleurs...

Non plus sérieusement, si vous voulez faire des maths précises, utilisez les Objet WorksheetFunction (Excel) | Microsoft Learn pour accéder aux fonctions Excel depuis VBA. Elles sont bien plus précises/modernes/complètes.

Bonjour,

l'arrondi banquier n'est pas moins précis, au contraire.
Il permet de répartir les erreurs d'arrondi entre plus et moins qui ainsi se neutralisent. Ca évite d'avoir de différences de plusieurs centimes entre le calcul exact et l'affichage.
Si non désiré, il y a d'autres arrondis disponibles sur excel.
eric

Bonjour,

Complément d'info sur l'arrondi "bancaire" : https://excel-exercice.com/erreur-darrondi/

A+

Merci pour les précisions eric et OOoiste, super enrichissant !

J'aurai du employer le terme "mathématique" ou "commun" plutôt que "précis" effectivement.

Bon weekend !

Rechercher des sujets similaires à "probleme arrondi fonction round"