[VBA] Problème avec EOF qui "sort" avant la fin du fichier
Bonjour,
J'utilise la macro suivante, extrêmement simple, je veux simplement lire mon fichier toto.txt ligne par ligne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Sub Go()
Dim File_Path As String
File_Path = "C:\toto.txt"
Open File_Path For Input As #1
row_num = 0
Do Until EOF(1)
Line Input #1, Line_FromFile
row_num = row_num + 1
Loop
Close #1
MsgBox row_num
End Sub |
Cependant, mon fichier toto.txt (disponible ici sous forme zippée), contient des caractères spéciaux (il s'agit d'un extrait de dump d'une table de données).
Il semblerait que l'un de ces caractères spéciaux (que vi fait apparaître en tant que "^Z" à la 2ème ligne, colonne 249 de mon fichier) perturbe la commande EOF qui du coup, "sort" à la ligne 2 dès qu'elle rencontre ce caractère.
Ma variable row_num affiche donc la valeur 2, alors que mon fichier contient 6 lignes...
Je voudrais que ma macro VBA parcoure bien l'ensemble des 6 lignes de mon fichier.
D'où vient le problème, et comment corriger mon code pour que ça marche ?
Par avance, merci !