|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : octobre 2004 Messages : 119 ![]() |
Bonjour , je suis confronté à un fichier .csv qui est mal formé .(voir pièce jointe)
Résultat la boucle ne tourne qu'une seule fois alors qu'elle devrait boucler sur toutes les lignes du fichier .Que faire ? NB : Le but du programme est de lire le fichier .csv et d'envoyer le flux dans un tableau (aucun travail sur les cellules ou sur un worksheet d'un fichier .xls) Code :
|
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 899 ![]() |
Bonjour,
Si tu veux avoir une lecture du fichier ligne à ligne utilise Input au lieu de binary Code :
Open "C:\Documents and Settings\a\Bureau\Seb\" & fichiercherche For Input As numlib ' #1 '& "\" & fichiercherche & ".txt"
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Inscription : février 2006 Messages : 287 ![]() |
Bonjour,
Il est possible, sinon probable, que le fichier CSV soit issu d'un environnement Unix et que les retour ligne soient des LF, et non des CR LF comme avec windows (je ne peux pas vérifier, la pièce jointe n'a pas encore été validée). Dans ce cas Line Input ne reconnaît pas LF comme caractère de fin de ligne (c'est marqué dans l'aide) et considère donc tout le fichier comme une seule grande ligne. Une solution, après avoir ouvert le fichier avec Line Input et fait une passe de lecture, serait de faire un split sur le caractère LF - ou chr(10) - ce qui donnerait un tableau de variables d'une seule dimension où chaque "cellule" correspondrait à une ligne du csv. Il faudrait donc ensuite faire la boucle avec le Split(Chaine, ",") etc... sur ce tableau plutôt que sur le fichier csv. Je dois avoir un exemple dans un coin si ce n'est pas assez explicite. |
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() Inscription : octobre 2004 Messages : 119 ![]() |
Pour jfontaine même en remplacant "binary" par "input" la lecture se fait sur un bloc de lignes (meme pas le fichier en entier)
Pour neupont , l'idée est bonne .Et je m'en suis sortis en abandonnant la fonction EOF .Décevante , la fonction EOF d'autant que sur d'autres de mes fichiers , cela fonctionnait . Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com