VBA // des décimales en trop !
Bonjour,
Je suis en train de copier en vba des valeurs d'un fichier texte vers excel.
Ces valeurs sont des nombres à exactement 1 décimale pas plus. Et quand elles sont copiées dans excel, elles prennent des valeurs proches avec pleins de décimales. Par exemple : 4.6 devient 4,59999990463256, 31.6 devient 31,6000003814697, par contre parfois par exemple 11.0, ou 0.2 sont copiés tels quels.
Je sais normalement comment tronquer ou arrondir des nombres à virgule, donc je pourrais retrouver leur valeur précise d'origine, mais je me pose la question pourquoi un tel "désarrondi" ?
Mon code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Dim pluvio As Single
...
numFile = FreeFile
Open nomFichier For Input As numFile
Do While Not EOF(numFile)
Line Input #numFile, texte
...
pluvio = Val(Mid(texte, 20, 6))
FeuilDonneesImportees.Cells(row, col + 1).Value = pluvio
... |
Pensant que c'était la fonction Val() le problème, j'ai essayé avec :
Code:
1 2 3
|
' Arrondi Val(...) à une décimale
pluvio = Int(10 * Val(Mid(texte, 20, 6)) + 0.5) / 10 |
Mais ça ne change rien...
Je ne comprends pas, étant un peu matheux ça me perturbe de me dire que je dois copier en faussant leur valeur précise (pour certains seulement !) des nombres à une décimale, pour ensuite les réarrondir pour retrouver leur vraie valeur !!
si quelqu'un a une réponse ...
Merci ;)