Importer des feuilles à l'aide d'Excel VBA - Macros Excel faciles

Table des matières

Ci-dessous, nous examinerons un programme en Excel VBA ce importe des feuilles d'autres fichiers Excel dans un fichier Excel.

Téléchargez Book4.xlsx, Book5.xlsx et ajoutez-les à "C:\test\"

Situation:

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 une variable de type Integer.

Dim répertoire As String, fileName As String, Sheet As Worksheet, total As Integer

2. Désactivez la mise à jour de l'écran et l'affichage des alertes.

Application.ScreenUpdating = Faux
Application.DisplayAlerts = 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:\test\"
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. Ajoutez une boucle Do While.

Do While fileName ""
Boucle

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

5. Il n'existe aucun moyen simple de copier des feuilles de calcul à partir de fichiers Excel fermés. Par conséquent, nous ouvrons le fichier Excel.

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

6. Importez les feuilles du fichier Excel dans import-sheet.xlsm.

Pour chaque feuille dans les classeurs (nom de fichier).
total = Workbooks("import-sheets.xlsm").Worksheets.count
Workbooks(fileName).Worksheets(sheet.Name).Copy _
after:=Workbooks("import-sheets.xlsm").Worksheets(total)
Fiche suivante

Explication : la variable total conserve la trace du nombre total de feuilles de calcul de import-sheet.xlsm. Nous utilisons la méthode Copy de l'objet Worksheet pour copier chaque feuille de calcul et la coller après la dernière feuille de calcul de import-sheets.xlsm.

7. Fermez le fichier Excel.

Classeurs (nom de fichier).Fermer

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

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.

9. Activez la mise à jour de l'écran et l'affichage des alertes à nouveau (en dehors de la boucle).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Testez le programme.

Résultat:

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave