OVH Cloud OVH Cloud

Round function ?

6 réponses
Avatar
Bruno Frisque
Bonjour à tous,

J'ai un petit problème d'arrondi, qui devient trop important vu le nombre de
champs à totaliser.
Le Round ne semble pas faire son boulot correctement ?

Text110 = 0.8065
Text111 = Round(Text110,3) donne 0.806 ! (il devrait donner 0.807 ..)

Il ne donne ce 0.807 que si on rentre 0.8066 dans Text110

Il y aurait-il une autre fonction pour arrondir correctement sous VBA ?

D'avance merci

6 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Tu peux utiliser ceci :
http://access.jessy.free.fr/index.html?Menu=6&Page=ArrondirProche

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Bruno Frisque" a écrit dans le message de news:
Owoyw%
Bonjour à tous,

J'ai un petit problème d'arrondi, qui devient trop important vu le nombre
de
champs à totaliser.
Le Round ne semble pas faire son boulot correctement ?

Text110 = 0.8065
Text111 = Round(Text110,3) donne 0.806 ! (il devrait donner 0.807 ..)

Il ne donne ce 0.807 que si on rentre 0.8066 dans Text110

Il y aurait-il une autre fonction pour arrondir correctement sous VBA ?

D'avance merci








Avatar
Bruno Frisque
Tout grand merci pour réponse hyper rapide !

Les 2 codes suivants sont parfaits : (on enter)

Text612 = Int(CDec((Text610 * (10 ^ 3) + 0.5))) / (10 ^ 3) '< is ok
ou
Text612 = ArrondirProche(Text610, 3) ' = call procédure

Tout grand merci
et bravo pour ton site !!



"Jessy Sempere [MVP]" wrote in message
news:44fea7dc$
Bonjour

Tu peux utiliser ceci :
http://access.jessy.free.fr/index.html?Menu=6&Page=ArrondirProche

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Bruno Frisque" a écrit dans le message de news:
Owoyw%
Bonjour à tous,

J'ai un petit problème d'arrondi, qui devient trop important vu le nombre
de
champs à totaliser.
Le Round ne semble pas faire son boulot correctement ?

Text110 = 0.8065
Text111 = Round(Text110,3) donne 0.806 ! (il devrait donner 0.807 ..)

Il ne donne ce 0.807 que si on rentre 0.8066 dans Text110

Il y aurait-il une autre fonction pour arrondir correctement sous VBA ?

D'avance merci












Avatar
Bruno Frisque
Re-bonjour,

Commentaire : tout de même incroyable que Access(XP) ne dispose pas d'une
fonction Round correcte ...??

à +


"Bruno Frisque" wrote in message
news:%
Tout grand merci pour réponse hyper rapide !

Les 2 codes suivants sont parfaits : (on enter)

Text612 = Int(CDec((Text610 * (10 ^ 3) + 0.5))) / (10 ^ 3) '< is ok
ou
Text612 = ArrondirProche(Text610, 3) ' = call procédure

Tout grand merci
et bravo pour ton site !!



"Jessy Sempere [MVP]" wrote in message
news:44fea7dc$
Bonjour

Tu peux utiliser ceci :
http://access.jessy.free.fr/index.html?Menu=6&Page=ArrondirProche

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Bruno Frisque" a écrit dans le message de news:
Owoyw%
Bonjour à tous,

J'ai un petit problème d'arrondi, qui devient trop important vu le
nombre de
champs à totaliser.
Le Round ne semble pas faire son boulot correctement ?

Text110 = 0.8065
Text111 = Round(Text110,3) donne 0.806 ! (il devrait donner 0.807 ..)

Il ne donne ce 0.807 que si on rentre 0.8066 dans Text110

Il y aurait-il une autre fonction pour arrondir correctement sous VBA ?

D'avance merci
















Avatar
Jessy Sempere [MVP]
Re,

Ce qui est étonnant, c'est que l'erreur n'est pas sur tous les chiffres,
exemple

...
0.8055 - 0.806
0.8065 - 0.806
0.8075 - 0.808
0.8085 - 0.808
...

Visiblement, l'avant dernière décimale est interprétées différemment en
fonction qu'elle soit paire ou impaire.
--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Bruno Frisque" a écrit dans le message de news:

Re-bonjour,

Commentaire : tout de même incroyable que Access(XP) ne dispose pas d'une
fonction Round correcte ...??

à +


"Bruno Frisque" wrote in message
news:%
Tout grand merci pour réponse hyper rapide !

Les 2 codes suivants sont parfaits : (on enter)

Text612 = Int(CDec((Text610 * (10 ^ 3) + 0.5))) / (10 ^ 3) '< is ok
ou
Text612 = ArrondirProche(Text610, 3) ' = call procédure

Tout grand merci
et bravo pour ton site !!



"Jessy Sempere [MVP]" wrote in message
news:44fea7dc$
Bonjour

Tu peux utiliser ceci :
http://access.jessy.free.fr/index.html?Menu=6&Page=ArrondirProche

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Bruno Frisque" a écrit dans le message de news:
Owoyw%
Bonjour à tous,

J'ai un petit problème d'arrondi, qui devient trop important vu le
nombre de
champs à totaliser.
Le Round ne semble pas faire son boulot correctement ?

Text110 = 0.8065
Text111 = Round(Text110,3) donne 0.806 ! (il devrait donner 0.807 ..)

Il ne donne ce 0.807 que si on rentre 0.8066 dans Text110

Il y aurait-il une autre fonction pour arrondir correctement sous VBA ?

D'avance merci




















Avatar
Bruno Frisque
Merci !
Effectivement .....
= bug à soumettre à Bill ???
à +


"Jessy Sempere [MVP]" wrote in message
news:44fec843$
Re,

Ce qui est étonnant, c'est que l'erreur n'est pas sur tous les chiffres,
exemple

...
0.8055 - 0.806
0.8065 - 0.806
0.8075 - 0.808
0.8085 - 0.808
...

Visiblement, l'avant dernière décimale est interprétées différemment en
fonction qu'elle soit paire ou impaire.
--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Bruno Frisque" a écrit dans le message de news:

Re-bonjour,

Commentaire : tout de même incroyable que Access(XP) ne dispose pas d'une
fonction Round correcte ...??

à +


"Bruno Frisque" wrote in message
news:%
Tout grand merci pour réponse hyper rapide !

Les 2 codes suivants sont parfaits : (on enter)

Text612 = Int(CDec((Text610 * (10 ^ 3) + 0.5))) / (10 ^ 3) '< is ok
ou
Text612 = ArrondirProche(Text610, 3) ' = call procédure

Tout grand merci
et bravo pour ton site !!



"Jessy Sempere [MVP]" wrote in message
news:44fea7dc$
Bonjour

Tu peux utiliser ceci :
http://access.jessy.free.fr/index.html?Menu=6&Page=ArrondirProche

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

"Bruno Frisque" a écrit dans le message de
news: Owoyw%
Bonjour à tous,

J'ai un petit problème d'arrondi, qui devient trop important vu le
nombre de
champs à totaliser.
Le Round ne semble pas faire son boulot correctement ?

Text110 = 0.8065
Text111 = Round(Text110,3) donne 0.806 ! (il devrait donner 0.807
..)

Il ne donne ce 0.807 que si on rentre 0.8066 dans Text110

Il y aurait-il une autre fonction pour arrondir correctement sous VBA
?

D'avance merci
























Avatar
Eric
Bonjour Jessy,

Apparemment, Round() arrondit comme la fonction CInt() pour les valeurs
à 0.5, soit toujours à "l'entier pair" le plus proche, mais dans le
cas précis, il est difficile de parler d'entier ;-)

Re,

Ce qui est étonnant, c'est que l'erreur n'est pas sur tous les chiffres,
exemple

...
0.8055 - 0.806
0.8065 - 0.806
0.8075 - 0.808
0.8085 - 0.808
...

Visiblement, l'avant dernière décimale est interprétées différemment en
fonction qu'elle soit paire ou impaire.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr