Bonjour à tous,
j'ai la fonction DSUM qui me pose problème :
J'ai une base de données dans laquelle je veux faire la somme de "quantité" pour un "code valeur" dans une table "Mouvements Titres"
tout se passe bien pour tous les éléments, sauf un où le résultat est aberrant.
Il y a trois enregistrements "Environnement" de 4.118; 51.255; et - 55.373 qui devraient donner un total de 0.
Le résultat obtenu est de 7.105427358E-15 !
Je n'arrive pas à comprendre pourquoi.
Voici les données de la table :
Date Code Valeur Quantité
23/01/2022 ENVIRONNEMENT 51,255
17/11/2023 ENVIRONNEMENT 4,118
19/12/2023 ENVIRONNEMENT -55,373
Voici le code VBA :
Private Sub ListeValeurs_Change()
Stock_Titres.Value = DSum("Quantité", "MouvementsTitres", "[Code Valeur] = [ListeValeurs]")
End Sub
J'ai effacé et ressaisi les données de la table et voici les résultats :
en nombre entiers :51 + 4 - 55 = 0
au 10e : 51.2 +4.1 - 55.3 = 0
au 100e : 51.25 + 4.11 - 55.36 = 0
au 1000e : 51.251 + 4.121 - 55.372 = 0,0009999999
toujours au 1000e : 51.255 + 4.118 - 55.373 = 0.0010000 ou alors 7,105427358E-15 .....
encore au 1000e : 51.258 + 4.117 - 55.375 = 0 ou encore 0.0200000 ....
Si quelqu'un a une explication à ces fantaisies à partir de 3 chiffres après la virgule je suis preneur
Merci pour votre aide et bonne année !
Partager