PRB : Round fonction différente dans VBA 6 et feuille de calcul Excel

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 194983
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Symptômes
Lorsque vous utilisez la fonction Round() dans Visual Basic 6.0, un résultat différent peut être renvoyée que lorsque l'utilisation dans une formule de cellule d'une feuille de calcul Excel.
Cause
La fonction VBA Round() utilise Banker arrondi tandis que la fonction de cellule de feuille de calcul utilise arrondi arithmétique.
Résolution
Écrire une fonction personnalisée pour obtenir les résultats souhaités.
Statut
Ce comportement est voulu par la conception même du produit.
Plus d'informations
La fonction Round() dans une feuille de calcul Excel utilise arrondi arithmétiques, qui arrondit toujours.5 (éloignant de 0). La fonction Round() dans Visual Basic pour applications 6, utilise Banker arrondi, qui arrondit.5 soit vers le haut ou vers le bas, selon ce qui se traduit par un nombre pair.

Procédure pour reproduire le problème

  1. Dans Excel, ouvrir une nouvelle feuille de calcul et tapez la formule suivante dans une des cellules :
           =Round(2.5, 0)						
  2. Le résultat est 3.
  3. Dans Visual Basic 6.0 ou autres applications à l'aide de VBA 6, ouvrez un nouveau projet, puis tapez l'expression suivante dans la fenêtre Débogage ou exécution :
          ? Round(2.5, 0)						
  4. Le résultat est 2.
Références
Pour plus d'informations sur l'arrondi, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
196652HOWTO : Implement personnalisé arrondi procédures


Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 194983 - Dernière mise à jour : 12/05/2015 09:34:06 - Révision : 2.1

Microsoft Visual Basic 6.0 Édition initiation, Microsoft Visual Basic 6.0 Édition professionnelle, Microsoft Visual Basic Enterprise Edition for Windows 6.0, Microsoft Excel 97 Standard

  • kbnosurvey kbarchive kbmt kbprb KB194983 KbMtfr
Commentaires