JPC92
XLDnaute Nouveau
Bonjour à tous
J'ai un fichier texte contenant des résultats de mesures organisé comme suit :
00001 77.47500 -119.0
00002 77.48000 -118.5
00003 77.48500 -117.4
.........
J'ai fait ce bout de programme pour récupérer les données :
Dim Numéro_Mesures As Integer, Fréquence As Single, Niveau As Single
Open Fichier For Input As #1
Do While Not EOF(1)
Input #1, Numéro_Mesures, Fréquence, Niveau
With Sheets("Données")
.Cells(Ligne, B).Value = Fréquence
.Cells(Ligne, C).Value = Niveau
End With
Ligne = Ligne + 1
' Debug.Print Numéro_Mesures, Fréquence, Niveau
Loop
Close #1
Ce qui donne un résultat curieux, Excel invente des décimales !
Exemple : Ligne 0001
Affichage de la cellule : 77,47499847
Affichage de la barre de formule : 77,474998474121
Avec Round(Fréquence, 5) : 77,47499847
Avec Format(Fréquence, "0.00000"), cela donne : 7747500
Avec FormatNumber(Fréquence, 5), cela donne : 7747500
Avec l'assistant d'importation de texte : 77.47500, résultat OK.
Comment se fait-il qu'Excel désarrondi (si l'on peut dire) dans le cas de la lecture directe du fichier ?
Configuration : Windows XP SP3 et Excel 2003.
Si quelqu'un a une explication, je suis preneur.
Merci d'avance
J'ai un fichier texte contenant des résultats de mesures organisé comme suit :
00001 77.47500 -119.0
00002 77.48000 -118.5
00003 77.48500 -117.4
.........
J'ai fait ce bout de programme pour récupérer les données :
Dim Numéro_Mesures As Integer, Fréquence As Single, Niveau As Single
Open Fichier For Input As #1
Do While Not EOF(1)
Input #1, Numéro_Mesures, Fréquence, Niveau
With Sheets("Données")
.Cells(Ligne, B).Value = Fréquence
.Cells(Ligne, C).Value = Niveau
End With
Ligne = Ligne + 1
' Debug.Print Numéro_Mesures, Fréquence, Niveau
Loop
Close #1
Ce qui donne un résultat curieux, Excel invente des décimales !
Exemple : Ligne 0001
Affichage de la cellule : 77,47499847
Affichage de la barre de formule : 77,474998474121
Avec Round(Fréquence, 5) : 77,47499847
Avec Format(Fréquence, "0.00000"), cela donne : 7747500
Avec FormatNumber(Fréquence, 5), cela donne : 7747500
Avec l'assistant d'importation de texte : 77.47500, résultat OK.
Comment se fait-il qu'Excel désarrondi (si l'on peut dire) dans le cas de la lecture directe du fichier ?
Configuration : Windows XP SP3 et Excel 2003.
Si quelqu'un a une explication, je suis preneur.
Merci d'avance