Vba gestion d'erreur ne marche qu'une fois

Fermé
marco_78 Messages postés 2 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 11 août 2009 - 11 août 2009 à 11:49
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 - 11 août 2009 à 12:13
Bonjour,

j'ai une for loop qui me permet d'ouvrir tous les fichiers dans une colonne de ma feuille excel.
s'il y a une erreur(le fichier n'existe pas etc.) je lui demande de passer à la ligne suivante

mais voilà, cela ne marche que la première fois qu'il rencontre un fichier invalide, la deuxième fois il m'affiche un message d'erreur...

ah oui et quand un fichier est ok il l'ouvre sans problème donc le pépin n'est pas de ce côté là

voilà mon code:

For i = 9 To 7 + dernièreligne

On Error GoTo erreur

debut:
nom = Cells(i, 1)


Workbooks.OpenText Filename:= _
nom, Origin:=xlWindows, _
StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(8, _
1), Array(16, 1), Array(24, 1), Array(32, 1), Array(40, 1), Array(48, 1), Array(56, 1), _
Array(64, 1), Array(72, 1))

Next i

Exit Sub

erreur:
i= i + 1
GoTo debut

merci d'avance pour votre réponse

marco

1 réponse

tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
11 août 2009 à 12:13
Bonjour,
Bah en fait tu ne fais pas vraiment de gestion d'erreur là, pourquoi pas un simple "On error resume next" ce qui correspond exactement à ce que tu veux faire...Sinon pour tester l'existence du fichier, regarde coté FSO, méthode fileexists().
0