Erreur d’arrondi – Méthode des banquiers

Erreur d’arrondi – Méthode des banquiers
Dernière mise à jour le 05/02/2024
Temps de lecture : 3 minutes

Il existe deux méthodes d'arrondi : la méthode mathématique et la méthode des banquiers. Cette dernière est plus précise que la méthode mathématique standard et surtout Excel utilise les 2 méthodes. Voyons cela dans cet article.

Comment arrondi-t-on avec 0,5 ?

Tout le point de départ c'est de savoir comment on arrondi la valeur 0,5. Doit-on arrondir à 0 ou doit-on arrondir à 1 ?

En mathématique "traditionnelle" on va dire, la réponse est toujours la même, on arrondit à la valeur supérieure

  • 0,5 sera arrondi à 1
  • 1,5 sera arrondi à 2
  • 2,5 sera arrondi à 3
  • ...

Mais une autre méthode, appelée l'arrondi des banquiers (banker's rounding), apporte une approche quelque peu différente.

Je le dis honnêtement, jamais je n'avais entendu parler de cette méthode lors de mes études ni lors de mes missions de consultant. C'est après une conversation avec d'autres MVP d'Excel et des développeurs de Microsoft que j'ai appris l'existence de cette méthode. Et comme vous allez le voir à la fin de cet article, les 2 méthodes retournent des résultats bien différents

C'est quoi l'arrondi des banquiers ?

Le principe c'est d'arrondir en fonction des nombres pairs et impairs.

  • 0,5 sera arrondi à 0.
  • 1,5 sera arrondi à 2.
  • 2,5 sera arrondi à 2
  • 3,5 sera arrondi à 4
  • 4,5 sera arrondi à 4
  • ....

Dans cet exemple, vous voyez la différence entre l'utilisation de la fonction ARRONDI, et la méthode d'arrondi des banquiers.

Methode de larrondi des banquiers

La fonction ARRONDI d'Excel se base sur la règle mathématique de toujours arrondir vers le nombre supérieur.

Pour obtenir l'arrondi des banquiers, on peut utiliser la fonction suivante :

=SI(MOD(B6;1)=0,5;ARRONDI.AU.MULTIPLE(B6;2);ARRONDI(C6;0))

Pourquoi c'est plus précis ?

La méthode d'arrondi des banquiers est plus précise et très facile à comprendre pourquoi.

L'arrondi de 0,1 c'est 0 et l'arrondi de 0,9 c'est 1. Donc on peut dire que les décimales 0,1 sont compensées par celle de 0,9 car dans 1 cas, on retranche 0,1 et dans l'autre on ajoute 0,1. Et de même pour :

  • 0,2 compensé par 0,8.
  • 0,3 compensé par 0,7.
  • 0,4 compensé par 0,6.

Mais avec la méthode mathématique traditionnelle, avec 0,5, on ne fait qu'ajouter +0,5 pour atteindre la valeur supérieure (jamais on ne retranche).

Avec la méthode des banquiers, l'idée c'est d'introduire une règle qui va soit ajouter, soit retrancher 0,5. Et cette règle c'est de se baser sur les nombres pairs ou impairs.

Différence entre les 2 méthodes

Le meilleur moyen de vérifier que la deuxième méthode est plus précise est la suivante.

  1. Créer une très grande liste de nombres.
  2. Faire la somme de cette liste.

=SOMME(B6:B1000006)

  1. Appliquer la formule ARRONDI dans une autre colonne.
  2. Puis la méthode d'arrondi des banquiers dans une autre colonne.
  3. Faites la somme de ces 2 autres colonnes.
  4. Faire la différence entre la somme des nombres non arrondis avec les colonnes ayant utilisé l'une ou l'autre méthode.

Le résultat montre un écart extrêmement faible avec la méthode d'arrondi des banquiers.

Difference au niveau du resultat entre les 2 methodes darrondis

Quelle méthode est utilisée en VBA ?

En VBA, c'est la méthode des banquiers qui est utilisée pour arrondir les nombres.

Pour s'en rendre compte, il suffit de reprendre notre liste de 100000 valeurs à arrondir et de lancer cette boucle d'arrondi.

Sub Test_Arrondi()
Dim i As Long
    For i = 6 To 1000006
        Cells(i, 5) = Round(Cells(i, 2), 0)
    Next
End Sub

Le résultat est similaire à la colonne de l'arrondi des banquiers.

Resultat obtenu en VBA similaire a la methode des banquiers

NOTE : Précision apportée par mon collègue MVP Rick Rothstein, en VBA, toutes les fonctions d'arrondi suivent la méthode des banquiers, sauf la fonction Format.

Round(5/2, 0) => 2

Et

Format(5/2, "0") => 3

Méthode utilisée avec Power Query

Et également avec Power Query, c'est la méthode de l'arrondi des banquiers qui est utilisée avec l'instruction Ajout Colonne > Arrondi > Arrondi ...

Methode darrondi utilisee par Power Query

Vous trouverez des informations complémentaires sur l'arrondi aux décimales voulues sur le site de Microsoft.

6 Comments

  1. Mad Daemon
    20/06/2023 @ 17:55

    L'arrondi "normal" introduit une erreur systématique de 0.5 d'où le résultat à la section "Différence entre les 2 méthodes" : 1 000 000 valeurs / 10 pas * 0.5 de biais ~ 50 000 d'erreur.

    L'arrondi "banquier" en altérant 1 quantification permet au biais d'être nul. Cet arrondi améliore l'exactitude.

    Reply

  2. Rick Rothstein
    07/03/2023 @ 10:33

    A note for VBA users... Bankers' Rounding is used for all explicit and implicit rounding except for one function... the Format function which uses traditional rounding (5's always round up) like Excel does. So, while Round(5/2,0) returns the Bankers' Rounding value of 2, Format(5/2,"0") returns the traditional rounding value of 3.

    Reply

    • Frédéric LE GUEN
      07/03/2023 @ 10:53

      Thanks Rick for this insight (Merci Rick pour la précision).

      Reply

  3. Arnaud joseph
    13/04/2021 @ 22:37

    Pas mal du tout
    Je ne connaissais pas, merci pour l’info.

    Reply

  4. Kasel
    25/03/2021 @ 16:13

    C'est bien mais j'aimerais avoir les formules d'excel

    Reply

    • Frédéric LE GUEN
      25/03/2021 @ 16:19

      La formule est donnée dans l'article. Juste avant le paragraphe "Différence entre les 2 dméthodes"

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Erreur d’arrondi – Méthode des banquiers

Reading time: 3 minutes
Dernière mise à jour le 05/02/2024

Il existe deux méthodes d'arrondi : la méthode mathématique et la méthode des banquiers. Cette dernière est plus précise que la méthode mathématique standard et surtout Excel utilise les 2 méthodes. Voyons cela dans cet article.

Comment arrondi-t-on avec 0,5 ?

Tout le point de départ c'est de savoir comment on arrondi la valeur 0,5. Doit-on arrondir à 0 ou doit-on arrondir à 1 ?

En mathématique "traditionnelle" on va dire, la réponse est toujours la même, on arrondit à la valeur supérieure

  • 0,5 sera arrondi à 1
  • 1,5 sera arrondi à 2
  • 2,5 sera arrondi à 3
  • ...

Mais une autre méthode, appelée l'arrondi des banquiers (banker's rounding), apporte une approche quelque peu différente.

Je le dis honnêtement, jamais je n'avais entendu parler de cette méthode lors de mes études ni lors de mes missions de consultant. C'est après une conversation avec d'autres MVP d'Excel et des développeurs de Microsoft que j'ai appris l'existence de cette méthode. Et comme vous allez le voir à la fin de cet article, les 2 méthodes retournent des résultats bien différents

C'est quoi l'arrondi des banquiers ?

Le principe c'est d'arrondir en fonction des nombres pairs et impairs.

  • 0,5 sera arrondi à 0.
  • 1,5 sera arrondi à 2.
  • 2,5 sera arrondi à 2
  • 3,5 sera arrondi à 4
  • 4,5 sera arrondi à 4
  • ....

Dans cet exemple, vous voyez la différence entre l'utilisation de la fonction ARRONDI, et la méthode d'arrondi des banquiers.

Methode de larrondi des banquiers

La fonction ARRONDI d'Excel se base sur la règle mathématique de toujours arrondir vers le nombre supérieur.

Pour obtenir l'arrondi des banquiers, on peut utiliser la fonction suivante :

=SI(MOD(B6;1)=0,5;ARRONDI.AU.MULTIPLE(B6;2);ARRONDI(C6;0))

Pourquoi c'est plus précis ?

La méthode d'arrondi des banquiers est plus précise et très facile à comprendre pourquoi.

L'arrondi de 0,1 c'est 0 et l'arrondi de 0,9 c'est 1. Donc on peut dire que les décimales 0,1 sont compensées par celle de 0,9 car dans 1 cas, on retranche 0,1 et dans l'autre on ajoute 0,1. Et de même pour :

  • 0,2 compensé par 0,8.
  • 0,3 compensé par 0,7.
  • 0,4 compensé par 0,6.

Mais avec la méthode mathématique traditionnelle, avec 0,5, on ne fait qu'ajouter +0,5 pour atteindre la valeur supérieure (jamais on ne retranche).

Avec la méthode des banquiers, l'idée c'est d'introduire une règle qui va soit ajouter, soit retrancher 0,5. Et cette règle c'est de se baser sur les nombres pairs ou impairs.

Différence entre les 2 méthodes

Le meilleur moyen de vérifier que la deuxième méthode est plus précise est la suivante.

  1. Créer une très grande liste de nombres.
  2. Faire la somme de cette liste.

=SOMME(B6:B1000006)

  1. Appliquer la formule ARRONDI dans une autre colonne.
  2. Puis la méthode d'arrondi des banquiers dans une autre colonne.
  3. Faites la somme de ces 2 autres colonnes.
  4. Faire la différence entre la somme des nombres non arrondis avec les colonnes ayant utilisé l'une ou l'autre méthode.

Le résultat montre un écart extrêmement faible avec la méthode d'arrondi des banquiers.

Difference au niveau du resultat entre les 2 methodes darrondis

Quelle méthode est utilisée en VBA ?

En VBA, c'est la méthode des banquiers qui est utilisée pour arrondir les nombres.

Pour s'en rendre compte, il suffit de reprendre notre liste de 100000 valeurs à arrondir et de lancer cette boucle d'arrondi.

Sub Test_Arrondi()
Dim i As Long
    For i = 6 To 1000006
        Cells(i, 5) = Round(Cells(i, 2), 0)
    Next
End Sub

Le résultat est similaire à la colonne de l'arrondi des banquiers.

Resultat obtenu en VBA similaire a la methode des banquiers

NOTE : Précision apportée par mon collègue MVP Rick Rothstein, en VBA, toutes les fonctions d'arrondi suivent la méthode des banquiers, sauf la fonction Format.

Round(5/2, 0) => 2

Et

Format(5/2, "0") => 3

Méthode utilisée avec Power Query

Et également avec Power Query, c'est la méthode de l'arrondi des banquiers qui est utilisée avec l'instruction Ajout Colonne > Arrondi > Arrondi ...

Methode darrondi utilisee par Power Query

Vous trouverez des informations complémentaires sur l'arrondi aux décimales voulues sur le site de Microsoft.

6 Comments

  1. Mad Daemon
    20/06/2023 @ 17:55

    L'arrondi "normal" introduit une erreur systématique de 0.5 d'où le résultat à la section "Différence entre les 2 méthodes" : 1 000 000 valeurs / 10 pas * 0.5 de biais ~ 50 000 d'erreur.

    L'arrondi "banquier" en altérant 1 quantification permet au biais d'être nul. Cet arrondi améliore l'exactitude.

    Reply

  2. Rick Rothstein
    07/03/2023 @ 10:33

    A note for VBA users... Bankers' Rounding is used for all explicit and implicit rounding except for one function... the Format function which uses traditional rounding (5's always round up) like Excel does. So, while Round(5/2,0) returns the Bankers' Rounding value of 2, Format(5/2,"0") returns the traditional rounding value of 3.

    Reply

    • Frédéric LE GUEN
      07/03/2023 @ 10:53

      Thanks Rick for this insight (Merci Rick pour la précision).

      Reply

  3. Arnaud joseph
    13/04/2021 @ 22:37

    Pas mal du tout
    Je ne connaissais pas, merci pour l’info.

    Reply

  4. Kasel
    25/03/2021 @ 16:13

    C'est bien mais j'aimerais avoir les formules d'excel

    Reply

    • Frédéric LE GUEN
      25/03/2021 @ 16:19

      La formule est donnée dans l'article. Juste avant le paragraphe "Différence entre les 2 dméthodes"

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.