Lecture Fichier TXT [Résolu]

Signaler
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014
-
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014
-
Bonjour à tous

Je travaille en VBA Excel, et essaie de lire un fichier TXT afin de récupérer des données.

A priori, la longueur des lignes est variable, allant jusqu'à 132 caractères.
-----------------------------
Mon code

Open "F:\_\STATDET1.TXT" For Input As #1
Do While Not EOF(1)
Input #1, Ligne
etc
Loop
close #1
-----------------------------

la longueur de ligne est variable, et par consequent je ne peux récupérer sur les lignes de données, ce qui m'interesse.

Dois je rajouter une information pour pouvoir y arriver.

Merci de vos réponses.

Herve29000

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
75
Salut
Salut
Lire des lignes, Ok.
Quel est ton problème ?

"la longueur de ligne est variable" : oui, c'est en général le cas.

"et par consequent je ne peux récupérer sur les lignes de données"
Faudra nous dire pourquoi ça te gène ? "par conséquent" de quoi ?

0D et 0A : c'est vbCrLf : un grand classique des fins de ligne des fichiers texte Windows.

Si ton problème c'est la récupération de donnée à l'intérieur de ta chaine Ligne, il suffit de joingler avec les chaines : Instructions Instr, Mid, Left, Right, ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014

Bonjour à tous

Je travaille en VBA Excel, et essaie de lire un fichier TXT afin de récupérer des données.

A priori, la longueur des lignes est variable, allant jusqu'à 132 caractères.
-----------------------------
Mon code

Open "F:\_\STATDET1.TXT" For Input As #1
Do While Not EOF(1)
Input #1, Ligne
etc
Loop
close #1
-----------------------------

la longueur de ligne est variable, et par consequent je ne peux récupérer sur les lignes de données, ce qui m'interesse.
A noter que mes fins de lignes sont avec un code 0D 0A soit retour chariot et saut de ligne
Dois je rajouter une information pour pouvoir y arriver.

Merci de vos réponses.

Herve29000
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014

Merci jack pour tes infos,

Mais en fait je voudrais pouvoir tester chaque ligne :
- Tester si elle fait partie de l'entête
- Si elle fait partie de la fin de page
- Si c'est une ligne de données, ma routine aimerait qu'elle puisse tourner même avec des MID, RIGHT ou LEFT etc...
le souci c'est que mes lignes ne commencent pas toutes au même endroit, comme si un caractère génait le processus.

Merci de ta réponse à venir

Hervé 29000