Gestion des chiffres décimaux dans un programme VBA
3 réponses
Miladiou
Bonjour,
Lorsue j'arrondi un chiffre décimal à un chiffre décimal moins long, je
n'arrive pas à exploiter le chiffre décimal moins long pour des calculs
ultérieurs.
Exemple :
Dim a, b, c As Single
a = 9.4882
b = Application.WorksheetFunction.Round(a, 2)
Range("a1") = b
c=b+1
Range("a2") = c
Le résultat affiché en cellule A1 est 9,48999977, alors que ce devrait être
9,49.
Le résultat affiché en cellule A2 est 10,48999977, alors que ce devrait être
10,49.
Ainsi, non seulement la valeur finale à l’affichage est erronée, mais la
valeur à l’intérieur de la macro est elle aussi erronée (si c=10,48999977,
c’est parce que b a eu une valeur de 9,48999977).
Comment puis-je forcer la macro à donner à b la valeur 9,49 pour que c
prenne la valeur 10,49 ?
D’avance, merci pour vos idées sur ce problème que je n'arrive pas à résoudre.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Francois L
Bonjour,
Lorsue j'arrondi un chiffre décimal à un chiffre décimal moins long, je n'arrive pas à exploiter le chiffre décimal moins long pour des calculs ultérieurs.
Exemple :
Dim a, b, c As Single
a = 9.4882 b = Application.WorksheetFunction.Round(a, 2) Range("a1") = b c=b+1 Range("a2") = c
Le résultat affiché en cellule A1 est 9,48999977, alors que ce devrait être 9,49. Le résultat affiché en cellule A2 est 10,48999977, alors que ce devrait être 10,49. (...)
Bonsoir,
Dim a, b, c As Double
-- François L
Bonjour,
Lorsue j'arrondi un chiffre décimal à un chiffre décimal moins long, je
n'arrive pas à exploiter le chiffre décimal moins long pour des calculs
ultérieurs.
Exemple :
Dim a, b, c As Single
a = 9.4882
b = Application.WorksheetFunction.Round(a, 2)
Range("a1") = b
c=b+1
Range("a2") = c
Le résultat affiché en cellule A1 est 9,48999977, alors que ce devrait être
9,49.
Le résultat affiché en cellule A2 est 10,48999977, alors que ce devrait être
10,49.
(...)
Lorsue j'arrondi un chiffre décimal à un chiffre décimal moins long, je n'arrive pas à exploiter le chiffre décimal moins long pour des calculs ultérieurs.
Exemple :
Dim a, b, c As Single
a = 9.4882 b = Application.WorksheetFunction.Round(a, 2) Range("a1") = b c=b+1 Range("a2") = c
Le résultat affiché en cellule A1 est 9,48999977, alors que ce devrait être 9,49. Le résultat affiché en cellule A2 est 10,48999977, alors que ce devrait être 10,49. (...)
Bonsoir,
Dim a, b, c As Double
-- François L
Miladiou
Avec tous mes remerciements à François L pour sa réponse
Avec tous mes remerciements à François L pour sa réponse