Boucle pour modifier fichiers dans différents sous dossiers

muriel86 - 27 août 2012 à 14:21
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 27 août 2012 à 14:54
bonjour,

je débute avec VBA. mon probleme :
je souhaiterais modifier 1500 fichiers excel (l'entete) via une macro.
ils sont situés dans un chemin commun (fiches techniques\D\) mais après dans différents sous dossiers Dxxxxxx-xxxx, puis dans des classeurs commencant par Txxxxxxx ou Dxxxxxx.
Quelqu'un pourrait venir à mon secours?
merci d'avance

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 août 2012 à 14:54
Salut et bienvenue

Pour faire cela, il te faut énumérer tous les fichiers d'un répertoire.
La fonction DIR fait ça très bien.
Là où cela se complique, c'est que tu doives chercher aussi les sous répertoires.
La fonction DIR sait le faire, mais on ne peut exécuter qu'une seule boucle de recherche avec DIR en même temps; donc impossible de lister les sous-répertoires ET les fichiers en même temps.

> De toute façon, il faut te familiariser avec la fonction DIR avant toute chose.

Pour palier ce problème, diverses solutions existent.
Je te propose l'utilisation d'une classe nommée DIR2 que tu trouveras http://www.vbfrance.com/codes/REMPLACER-DIR-CLASSE-DIR2-AVANTAGES_37859.aspx ou <celle-ci>, légèrement différente, et qui te permettra de faire l'imbrication nécessaire.

Ces sources sont en VB6, mais applicables en VBA.
Les fichiers BAS, MOD, FRM ou CLS sont lisibles sous NotePad.

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)
0
Rejoignez-nous