XL 2013 Lecture fichier .txt - EOF - mauvais arrêt [RESOLU]

dieu08

XLDnaute Occasionnel
Bonjour les forumiteux,

Je travaille actuellement sur un script dont la première partie concerna la lecture d'un fichier .txt et la répartition des données selon une structure déterminée.

Mon fichier *.txt est composé d'une ligne de données qui se termine par un Retour Chariot et un Saut de Ligne (CR-LF) puis une seconde ligne totalement vide.

VB:
Sub lectureTest()

Dim T() As String
Dim i As Integer
Dim NbLig As Integer
Dim TailleFic As Long
Dim MyInterface As interfaceDET
Dim MyInterface2 As interfaceENT

'Lecture

    Open "\\chemin\infodb_travail.dat" For Binary As #1
   
    NbLig = 0
    i = -1
   
         Do While Not EOF(1)
       
            i = i + 1
            ReDim T(i, 44)
            'Line Input #1, T(i)
            Get #1, , MyInterface
             
                    T(i, 1) = MyInterface.int01
                    T(i, 2) = MyInterface.int02
                    T(i, 3) = MyInterface.int03
                    T(i, 4) = MyInterface.int04
                    T(i, 5) = MyInterface.int05
                    T(i, 6) = MyInterface.int06
                    T(i, 7) = MyInterface.int07
                    T(i, 8) = MyInterface.int08
                    T(i, 9) = MyInterface.int09
                    T(i, 10) = MyInterface.int10
                    T(i, 11) = MyInterface.int11
                    T(i, 12) = MyInterface.int12
                    T(i, 13) = MyInterface.int13
                    T(i, 14) = MyInterface.int14
                    T(i, 15) = MyInterface.int15
                    T(i, 16) = MyInterface.int16
                    T(i, 17) = MyInterface.int17
                    T(i, 18) = MyInterface.int18
                    T(i, 19) = MyInterface.int19
                    T(i, 20) = MyInterface.int20
                    T(i, 21) = MyInterface.int21
                    T(i, 22) = MyInterface.int22
                    T(i, 23) = MyInterface.int23
                    T(i, 24) = MyInterface.int24
                    T(i, 25) = MyInterface.int25
                    T(i, 26) = MyInterface.int26
                    T(i, 27) = MyInterface.int27
                    T(i, 28) = MyInterface.int28
                    T(i, 29) = MyInterface.int29
                    T(i, 30) = MyInterface.int30
                    T(i, 31) = MyInterface.int31
                    T(i, 32) = MyInterface.int32
                    T(i, 33) = MyInterface.int33
                    T(i, 34) = MyInterface.int34
                    T(i, 35) = MyInterface.int35
                    T(i, 36) = MyInterface.int36
                    T(i, 37) = MyInterface.int37
                    T(i, 38) = MyInterface.int38
                    T(i, 39) = MyInterface.int39
                    T(i, 40) = MyInterface.int40
                    T(i, 41) = MyInterface.int41
                    T(i, 42) = MyInterface.int42
                    T(i, 43) = MyInterface.int43            
                                       
            NbLig = NbLig + 1
               
        Loop
   
    Close #1

Les variables locales s'alimentent bien en pas à pas.

Il me semblait que le EOF(1) devait arrêter la lecture du fichier; or la lecture continue sur la ligne vide. Ce qui me pose des problèmes de récupération de données.

J'ai tenté de supprimer la seconde ligne (vide) et le (CR-LF) mais rien n'y fait.

Le but est que ce script s'arrête à la fin de la première ligne de données.

Je vous remercie pour vos conseils.

Dieu08.
 

Roland_M

XLDnaute Barbatruc
Bonjour,

de la manière que tu pratiques tu n'auras aucune réponse !
excuses le jeu de mot mais si tu es "dieu" ici tu n'as pas affaire à des devins ;)

trêve de plaisanterie !
1' tu dois joindre un fichier en état de fonctionnement afin de tester et corriger ton problème
2' joindre le fichier texte pour analyser sa structure exacte !
car perso j'ai vu que ce n'était pas ce que l'on pourrait imaginer

perso je n'interviendrai pas, car j'ai donné des soluces au problème du fil précédent
et apparemment et tu n'en as pas tenu compte, ou tu n'as peut être rien compris,
et pourtant ça solutionnait le problème !
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 900
Membres
101 834
dernier inscrit
Jeremy06510