300 Exemples

Fichiers dans un répertoire

Files Directory

Ci-dessous, nous examinerons un programme en Excel VBA cette parcourt tous les classeurs et feuilles de calcul fermés dans un annuaire , et affiche tous les noms.



Téléchargez Book1.xlsx, Book2.xlsx, Book3.xlsx, Book4.xlsx et Book5.xlsx et ajoutez-les à 'C: est'

Situation:





Fichiers dans un exemple de répertoire

Ajoutez les lignes de code suivantes au bouton de commande :



1. Tout d'abord, nous déclarons deux variables de type String, un objet Worksheet et deux variables de type Integer.

RienannuaireComme Chaîne de caractères, nom de fichierComme Chaîne de caractères, feuilleCommeFeuille de travail, jeComme Entier, jComme Entier

2. Pour éviter le scintillement de l'écran, désactivez la mise à jour de l'écran.

Application.ScreenUpdating =Faux

3. Initialisez le répertoire des variables. Nous utilisons la fonction Dir pour trouver le premier *.xl?? fichier stocké dans ce répertoire.

répertoire = 'c: est'
fileName = Dir(répertoire & '*.xl??')

Remarque : la fonction Dir prend en charge l'utilisation de caractères génériques à plusieurs caractères (*) et à un seul caractère (?) pour rechercher tous les différents types de fichiers Excel.

4. La variable fileName contient maintenant le nom du premier fichier Excel trouvé dans le répertoire. Ajouter un Faire la boucle pendant .

Faire Tandis quenom de fichier ''

Boucle

Ajoutez les lignes de code suivantes (à 5, 6, 7, 8 et 9) à la boucle.

5. Initialisez les variables de type Entier et ajoutez le nom du fichier Excel dans la première colonne de la ligne i.

je = je + 1
j = 2
Cellules (i, 1) = nom de fichier

6. Il n'existe aucun moyen simple d'extraire des données (ou des noms de feuilles) à partir de fichiers Excel fermés. Par conséquent, nous ouvrons le fichier Excel.

Workbooks.Open (répertoire et nom de fichier)

7. Ajoutez tous les noms de feuille du fichier Excel aux autres colonnes de la ligne i.

Pour ChaquefeuilleDansClasseurs (nom de fichier). Feuilles de travail
Classeurs('fichiers-dans-un-répertoire.xlsm').Feuilles de travail(1).Cellules(i, j).Valeur = feuille.Nom
j = j + 1
Prochainfeuille

8. Fermez le fichier Excel.

Classeurs (nom de fichier).Fermer

9. La fonction Dir est une fonction spéciale. Pour obtenir les autres fichiers Excel, vous pouvez à nouveau utiliser la fonction Dir sans arguments.

comment filtrer les colonnes dans Excel
fileName = Dir ()

Remarque : lorsqu'aucun autre nom de fichier ne correspond, la fonction Dir renvoie une chaîne de longueur nulle (''). Par conséquent, Excel VBA quittera la boucle Do While.

10. Activez à nouveau la mise à jour de l'écran (en dehors de la boucle).

Application.ScreenUpdating =Vrai

11. Testez le programme.

Résultat:

Fichiers dans un répertoire dans Excel VBA

6/8 terminé ! En savoir plus sur les livres et les feuilles >
Aller au chapitre suivant : Objet de plage



^