cs_vevel
Messages postés62Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention30 mai 2017
-
9 oct. 2009 à 00:03
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
9 oct. 2009 à 09:43
Bonsoir,
Dans une macro, j'ai besoin d'aller chercher des infos dans un fichier texte. Alors j'utilise la fonction suivante:
Open Fichier_Presents For Input As #1
Do While EOF(1) = False
Line Input #1, maligne
Loop
Le probleme, c'est que je souhaiterai lui faire une boucle pour chercher plusieurs valeurs. Et pour chaque valeur lui faire relire a partir de la 1 ligne du fichiers txt. Sans avoir a ouvrir le fichier a chaque fois.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 9 oct. 2009 à 00:18
Salut
Tu peux essayer la méthode Seek, mais je ne sais pas si un fichier ouvert en Input l'acceptera.
De toute façon, après recherche, tu refermes bien ton fichier, non ?
Alors où est la difficulté de le fermer et de le réouvrir ? Deux lignes, c'est pas la mort.
Mets cette recherche dans une Function à laquelle tu passes la chaine recherchée en paramètre.
Tu ouvres ton fichier, tu fais ta recherche, tu refermes le fichier et tu renvoies le résultat.
La procédure appellante n'aura qu'à relancer cette Function pour chercher autre chose.
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)
cs_vevel
Messages postés62Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention30 mai 20171 9 oct. 2009 à 00:39
Le probleme c'est que j'ai enormement de données a recuperer (>1000 parfois), donc si je pouvais eviter de l'ouvrir et le fermer 1000 fois, je pense que je devrais gagner du temps dans le programme
J'ai cru voir une fonction "movefirst", mais j'arrive pas a voir comment elle fonctionne.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 9 oct. 2009 à 09:43
Re
et Seek : accepté ?
Fais l'essai, mais je suis persuadé que cela ne ralentit rien. Faut penser que les données sont buffurisées par les disques et que ces actions ne sont que logicielles et n'entrainent pas de surcharge.
J'ai des projets où j'ouvre et je referme un fichier LOG à chaque insertion, c'est à dire parfois des dizainnes de fois par seconde et je n'ai jamais noté de ralentissement notable (pour gérer un fichier LOG (texte) tout en gardant la possibilité de l'ouvrir en dehors de l'appli)
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)