Problème Erreur 62

cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013 - 19 juin 2008 à 18:00
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013 - 20 juin 2008 à 19:56
Soit un fichier texte que je lis par groupes de 3 lignes.
J'utilise la procédure While Not EOF/Wend
Malheureusement, il arrive que le fichier soit vérolé et que sur les 3 dernières lignes il en manque une ou deux.
Le système génère alors une erreur 62 (lecture après la fin du fichier).
Pour remédier à ce problème, j'introduis avant la boucle un On Error Goto toto.
Quelqu'un peut-il m'expliquer pourquoi cette instruction est totalement inefficace?
Jacques13

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 juin 2008 à 08:14
salut,

peut-être serait-il possible de lire tous le fichier texte d'un coup, si pas trop gros en taille, et placer le contenu dans une variable.
Seulement à partir de ce moment tu lis tes blocs de 3 lignes, tu peux par exemple faire un Split sur les saut de ligne (vbCrLf)

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013
20 juin 2008 à 18:17
Salut Mortalino,
Ca me paraît difficile de lire le fichier d'un coup car il peut être, suivant les cas, très gros et, bien sûr, les longueurs de ligne sont variables. (Sinon ton idée était intéressante).
Avec un traitement d'erreur, je pourrais m'en sortir! malheureusement, malgré l'instruction "On Error" le système plante. On dirait que l'erreur 62 n'est pas reconnue par On Error!
Jacques13
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 juin 2008 à 18:22
Fais voir ton code avec While Wend, on pourra peut-être l'arranger afin de ne plus avoir cette erreur

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_jacques13 Messages postés 252 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 29 juin 2013
20 juin 2008 à 19:56
  On Error GoTo suite5
  Open chemin$ + ".vfi" For Input As 1
    While Not EOF(1)
      Line Input #1, b$
      Line Input #1, c$
      Input #1, a$
      Traitement a$, b$, c$
    Wend
suite5::
  Close 1
0
Rejoignez-nous