Parcourir certains fichiers d'un dossier

Bonjour,

Je rencontre actuellement un problème, je vous explique :

J'ai un dossier contenant 200 fichiers Word et je parcours tous les fichiers du dossier, mais ayant un traitement assez lourd, Excel plante.

Donc, j'aimerais pouvoir parcourir par exemple seulement les 100 premiers. En résumé, je voudrais préciser pour ma boucle, le premier fichier ( où débute la boucle ) et le dernier fichier ( où se termine la boucle )

Mon code actuel :

'manipule le système de fichiers de Windows
Set fso = CreateObject("Scripting.FileSystemObject")

'chemin du dossier contenant les fichiers
dossier = InputBox("Veuillez saisir le chemin du dossier des fichiers." & vbCrLf & vbCrLf)

'Lit les fichiers du dossier
Set objFiles = fso.GetFolder(dossier)

'Boucle sur les fichiers 
For Each Item In objFiles.Files

Pour la boucle, j'aimerais quelque chose du genre :

For [premier fichier] To [100ème fichier] du dossier

Merci !

Bonjour

Une idée comme ça

Crées une variable compteur que tu incrémentes dans la boucle

Dim NbFile as Integer
'manipule le système de fichiers de Windows
Set fso = CreateObject("Scripting.FileSystemObject")

'chemin du dossier contenant les fichiers
dossier = InputBox("Veuillez saisir le chemin du dossier des fichiers." & vbCrLf & vbCrLf)

'Lit les fichiers du dossier
Set objFiles = fso.GetFolder(dossier)

'Boucle sur les fichiers
For Each Item In objFiles.Files
NbFile = NbFile +1
If NbFile = 100 Then Exit For

Mais que fais tu des fichiers non scannés ?

Merci Banzai64 de ta réponse.

Effectivement j'avais pensé à ça dans un premier temps.

En fait, actuellement, je parcours donc tous les fichiers dont je récupère des données que j'insère dans une base de donnée MySQL.

Étant donné que mon traitement fait planté Excel ( à cause des 200 fichiers ), je voudrais préciser le premier et le dernier fichier à traiter.

Je voudrais préciser au premier appel de mon traitement que je veux traiter les fichiers 1 à 100, puis ensuite ré-appeler mon traitement pour lui dire que je veux traiter les fichiers 100 à 200.

Je ne sais pas si je me fais bien comprendre ...

Bonjour

Je ne comprend pas comment vas-tu traiter l'ensemble de tes fichiers

Comment être sur qu'entre deux appels de la macro , la liste des fichiers sera dans le même ordre (Cela je ne sais pas)

Moi ce que je ferai

Dans une page Excel lister tous les fichiers

Dans une cellule marquer à partir de quelle ligne on doit traiter les fichiers

Si ligne = 0 faire la liste

Si ligne >0 : A partir de ligne jusqu'à ligne +100 (ou fin de liste) traiter les fichiers

Ce n'est qu'une idée comme ça, je ne sais pas de quelles manières tu traite ces fichiers

Pour faire quelque chose de fonctionnel, il faudrait la macro au complet et peut-être 1 ou 2 fichiers à traiter

Sans garantie aucune

Je suis sure que la liste des fichiers sera dans le même ordre.

Enfaite, je traite les fichiers à la volée : J'ouvre le fichier, j'extraie les données dans une base, je referme le fichier et je passe au suivant.

Mais l'idée de lister tous les fichiers dans une page Excel me paraît tout à fait convenable.

Je vais tester ça de suite.

Merci beaucoup Banzai64 pour m'avoir aidé !

J'ai donc lister dans Excel tous les fichiers, et je les ai ensuite traités un à un entre mon fichier de départ et mon fichier de fin ( donc ma cellule de départ et ma cellule de fin )

MERCI BEAUCOUP !

Rechercher des sujets similaires à "parcourir certains fichiers dossier"