Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Gestion des chiffres décimaux dans un programme VBA

3 réponses
Avatar
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.

3 réponses

Avatar
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

Avatar
Miladiou
Avec tous mes remerciements à François L pour sa réponse
Avatar
Francois L
Avec tous mes remerciements à François L pour sa réponse




Bonsoir,

C'était pas trop difficile !

Bon courage pour la suite.

--
François L