Problème d'ouverture de fichiers .txt dans une boucle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

boulfaledjo

XLDnaute Nouveau
Bonjour,

Je souhaite ouvrir des fichiers .txt portant le nom 1.txt, 2.txt, 4.txt...
Pour celà, j'ai créé une boucle for... next.
Mais je bloque car il peut manquer des fichiers et Excel m'affiche alors l'erreur '1004'.
J'ai essayé de gérer les erreurs avec les instructions on error goto... seulement ça ne gère qu'une erreur (problème déjà posé dans le forum) et après avoir consulté le forum, ceci apparait comme étant une mauvaise solution. (Il faut mieux résoudre les erreurs que les contourner... jusque là ok!)

Mais je n'arrive à écrire la condition, "si on peut ouvrir le classeur, alors lancer les instructions"

Ma macro: (simplifiée)

Sub transfert()
dim chemin as string, name as string, i as integer
chemin = "C:\...\
name = ".xls"

For i = 1 to 100
Workbooks.OpenText chemin & i & name, , 1, xlDelimited, , , , True

mes instructions

next i
End sub


J'ai vu plusieurs personnes ayant le même type de problème mais aucune réponse n'a pu m'aider à résoudre ce problème...

Si quelqu'un a la solution??!! Merci d'avance!
 
Re : Problème d'ouverture de fichiers .txt dans une boucle

Bonjour,

peut être comme ceci, avec une gestion d'erreur :

Code:
For i = 1 To 100
On Error GoTo monerreur
Workbooks.OpenText chemin & i & Name, , 1, xlDelimited, , , , True
On Error GoTo 0
'mes instructions
monerreur:
Next i

bon après midi
@+
 
Re : Problème d'ouverture de fichiers .txt dans une boucle

Bonjour de mémoire et non testé...
Code:
For i = 1 to 100
On error resume next
Workbooks.OpenText chemin & i & name, , 1, xlDelimited, , , , True
if err>0 then err.clear: goto fin
'mes instructions
'blablabla
fin:
next i

A+
 
Re : Problème d'ouverture de fichiers .txt dans une boucle

Merci pour la rapidité!

@Pierrot93: on a eu la même idée (qui ne marche pas!)
@youky(bj): tu as une bonne mémoire! Ca fonctionne comme ça!

Je suis preneur à l'occasion du test de la condition "si le classeur peut s'ouvrir, alors exécuter les instructions...."
Mais pour l'instant, je suis content et vais pouvoir continuer d'avancer!

Merci encore!
 
Re : Problème d'ouverture de fichiers .txt dans une boucle

Re

pour ton test, si j'ai bien compris :

Code:
Sub test()
Dim i As Byte, chemin As String, n As String
chemin = "C:\MesDocs\Excel\Test\"
n = ".xls"
For i = 1 To 100
If Dir(chemin & i & n) <> "" Then
Workbooks.OpenText chemin & i & n, , 1, xlDelimited, , , , True
'mes instructions
End If
Next i
End Sub

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
582
Réponses
9
Affichages
584
Retour