cs_guillaume89
Messages postés5Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention 8 août 2011
-
15 juil. 2008 à 20:23
cs_guillaume89
Messages postés5Date d'inscriptionvendredi 14 juillet 2006StatutMembreDernière intervention 8 août 2011
-
19 juil. 2008 à 11:45
Bonjour,
J'ai un probleme avec les arrondis à 2 chiffres dans excel et vba. J'ai essayé plusieur methode sans succes.
Le nombre inscrit dans la cellule est bien arrondi. Mais la cellule garde en memoire les chiffre apres la virgule.
Exemple:
valeur ht en cellule(2,2)= 55.22
valeur tva en cellule(2,3)= LC(-1)*19.6/100 donne 10.82312
valeur ttc en cellule(4,4)=LC(-2)+LC(-1) donne 66.04312
le code
a = 3
For i = 2 To 4
Cells(a, i) = FormatNumber(Cells(2, i), 2)
Next i
'TTC-HT-TVA devait donner 0
Cells(a, 5) = Cells(a, 4) - Cells(a, 2) - Cells(a, 3)
Les cellules de destinations sont bien arrondis, 55.22 ; 10.82 ; 66.04
mais le TTC - TVA - HT donne 7,10543E-15 au lieu de 0. Les valeurs des cellule ne sont donc pas arrondis.
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 15 juil. 2008 à 23:39
Salut,
vraiment pas facile a comprendre ton explication car tu melanges format de cellules et fonction d'arrondi.
le format de cellule n'arrondi rien d'autre que l'affichage de la valeur mais pas la valeur elle meme.
La fonction round en vba quand a elle a besoin que tu lui specifi le nombre de digit c'est a dire un nombre de chiffre apres la virgule.
par exemple :
MsgBox Round(Application.WorksheetFunction.Pi(), 2) 'renvoi le nombre PI a 2 chiffres apres la virgule
MsgBox Round(Application.WorksheetFunction.Pi(), 0) 'renvoi le nombre PI sans chiffre apres la virgule