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

[Résolu]
Signaler
Messages postés
6
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
5 octobre 2008
-
Messages postés
6
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
5 octobre 2008
-
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

Messages postés
6
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
5 octobre 2008

Merci beaucoup Jack ta solution fonctionne tres bien du coup j'ai ajoute une procedure de controle qui isole les fichiers orphelins
merci :)

[8D]
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
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)
Messages postés
6
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
5 octobre 2008

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]
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
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)