Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème d'arrondi : alors la je cmprends pas :!

Z

Zarkoff

Guest
Bonjour,

J'ai une macro qui recopie des donnée d'un fichier vers un autre

ces données sont sur 3 décimales et je veux les arrondir à la volée.

j'ai donc fait :
Sheets("destination").Cells(1, 6) = Round(Sheets("source").Cells(1, 9).Value, 2)

mais voila si le chiffre est du style 0.955, ca va faire 0.95 au lieu de 0.96...
dès qu'il y a un 5 en troisième position, ca ne marche pas .... alors qu'avec les autres chiffre ca marche bien.

une idée ??? parce que la je vois pas

ps j'ai essayé avec CDEC mais pareil...
 
Z

Zarkoff

Guest
Marc,

Cette fonction ne pas s'appliquer dans mon cas, je veux que les règles des arrondis soit respectée tout simplement.

j'ai trouvé un moyen de contourner mon problème :
Sheets("Handling Fees").Cells(1, 6) = Application.WorksheetFunction.Round((Sheets(Scan_sheet_name).Cells(1, 9).Value), 2)

mais ce qui est bizare, c'est que si je fais l'adition de mes chiffres non arrondi puis ceux arrondi j'ai 0.30 centime de différence ce qui est énorme :! mais toutes les règles des arrondis sont desormais respectées....

C'est un gros problème car je dois arrivé au centime pres puisque c chiffre proviennent d'une facturê....

Merci, je vais essayer de trouver une solution alternative
 
T

Ti

Guest
n'oublie pas que ton 0.955 est peut-être déjà un arrondi de 0.95499999999
ce qui est fréquent avec des nombres de type Single. Pour une facturation, je te conseille d'adopter le type Currency plutôt que le type Single ou même Double pour tes valeurs, ce qui t'évitera bien des déboires de ce genre, beaucoup plus fréquents qu'on ne croit.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…