Lire les premieres lignes d'un fichier sans avoir à le charger entièrement?

Résolu
cs_ths Messages postés 6 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 5 octobre 2008 - 13 avril 2008 à 09:32
cs_ths Messages postés 6 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 5 octobre 2008 - 14 avril 2008 à 07:42
Bonjour,
Je dois traiter des informations sur environs 2000 fichiers et chaque fichier pese environ 1000 lignes
Actuellement je charge le fichier entierement dans un listebox pour traiter certaines information qui sont presente que sur les 20 premieres lignes. Mon but serait d'optimiser en ne chargeant que ses 20 lignes sans avoir a passer toute les lignes dans le listebox
Voila ce que fait le ptit bout traitement

For j = 0 To lchemin.ListCount - 1
Open lchemin.List(j) For Input As #1
While Not EOF(1)
    Input #1, a$
    llecture.AddItem a$
Wend
Close #1
Next j

J'ai essayé d'incrementé une boucle mais le resultat et erroné si qqun pouvez mettre sur une piste
merci

For j = 0 To lchemin.ListCount - 1
nbligne = 1

Open lchemin.List(j) For Input As #1
do While  nbline < 20

    Input #1, a$

    llecture.AddItem a$
nbligne = nbligne + 1
loop

Close #1

Next j

[8D]

4 réponses

cs_ths Messages postés 6 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 5 octobre 2008
14 avril 2008 à 07:42
Merci beaucoup Jack ta solution fonctionne tres bien du coup j'ai ajoute une procedure de controle qui isole les fichiers orphelins
merci :)

[8D]
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 avril 2008 à 17:41
Salut
Ton programme est correct.
Reste à savoir ce que tu appelles "résultat erroné"

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_ths Messages postés 6 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 5 octobre 2008
13 avril 2008 à 22:04
Merci jack pour cette precision :)
A vrai dire c'est pas le resultat
J'ai ajouté une gestion d'erreur
En fait je me retrouve avec une erreur d'execution l'entrée dépasse la fin de fichier (erreur 62) donc est ce parce que l'un de mes fichiers est vide ou < a 20 lignes?

Faut que je fasse le teste sur une 20n fichiers complets :)

[8D]
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
14 avril 2008 à 00:04
Re
Ah bah oui, l'erreur décrit le problème.
Ton fichier ne doit pas comporter assez de lignes - facile à vérifier en l'ouvrant dans un NotePad
Dans ton Do While, il faut donc aussi ajouter And Not EOF(1)

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous