Dans cet article, nous allons créer une macro pour imprimer tous les fichiers Excel d’un dossier.

Nous avons des fichiers Excel dans un dossier que nous voulons imprimer. Tous ont la même extension de fichier, «.xlsx»

ArrowFilesInFolder

ArrowMain

Explication du code

Dir (TargetFolder & FileFilter)

Le code ci-dessus est utilisé pour obtenir le nom de fichier du premier fichier dans le chemin du dossier.

Workbooks.Open TargetFolder & FileName Le code ci-dessus est utilisé pour ouvrir le classeur défini.

ActiveWorkbook.PrintOut Le code ci-dessus est utilisé pour imprimer le classeur actif.

Veuillez suivre ci-dessous pour le code

Option Explicit

Sub PrintAllWorkbooksInFolder(TargetFolder As String, FileFilter As String)

'Declaring variable

Dim FileName As String

'Disabling screen updates

Application.ScreenUpdating = False

'Adding path separator in the end of target folder name

If Right(TargetFolder, 1) <> "\" Then

TargetFolder = TargetFolder & "\"

End If

'Assigning default path to file filter

If FileFilter = "" Then FileFilter = "*.xls"

'Get the file name of first file in the folder

FileName = Dir(TargetFolder & FileFilter)

While Len(FileName) > 0

If FileName <> ThisWorkbook.Name Then



'Open workbook

Workbooks.Open TargetFolder & FileName



'Prints all sheets in the workbook

ActiveWorkbook.PrintOut



'Close the workbook without saving any changes

ActiveWorkbook.Close False



End If



'Get file name of next file in the folder

FileName = Dir

Wend

End Sub

Sub CallingProcedure()

'Declaring variables

Dim FolderPath, FileName As String

'Getting values from textbox on sheet1

FolderPath = Sheet1.TextBox1.Value

FileName = Sheet1.TextBox2.Value

'Calling PrintAllWorkbooksInFolder procedure

PrintAllWorkbooksInFolder FolderPath, FileName



End Sub

Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]