Herve29000
Messages postés38Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention20 octobre 2014
-
8 mai 2010 à 12:34
Herve29000
Messages postés38Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention20 octobre 2014
-
8 mai 2010 à 18:16
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.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 8 mai 2010 à 16:24
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)
Herve29000
Messages postés38Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention20 octobre 2014 8 mai 2010 à 14:58
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.
Herve29000
Messages postés38Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention20 octobre 2014 8 mai 2010 à 18:16
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.