More

    Comment fusionner plusieurs fichiers Excel en un seul fichier ?

    Vous avez plusieurs fichiers Excel et vous souhaitez les fusionner en un seul ?

    Vous souhaitez peut-être fusionner plusieurs rapports quotidiens en un seul fichier de rapport mensuel. Ou vous voulez fusionner les rapports de vente de chaque région en un seul fichier de rapport.

    Il existe de nombreuses façons de fusionner plusieurs fichiers Excel en un seul fichier. Si les fichiers à fusionner sont peu nombreux, vous pouvez le faire manuellement. Pour ce faire, vous pouvez « Copy & Paste » le contenu du document, « Move or Copy » les feuilles, etc.

    Si vous devez fusionner de nombreux fichiers, le moyen le plus rapide est d’utiliser les macros VBA.

    Fusionner plusieurs fichiers Excel en un seul

    1. Créez un nouveau fichier Excel.
    2. Appuyez sur ( Alt + F11 ) pour ouvrir l’éditeur Visual Basic.
    3. Lorsque la fenêtre de l’éditeur Visual Basic s’ouvre, cliquez sur “ ThisWorkbook > Insert > Module ”.
    unprotect-sheet-excel-01
    1. Copiez ensuite le script Macro suivant
    Sub MergeExcelFiles()
        Dim fnameList, fnameCurFile As Variant
        Dim countFiles, countSheets As Integer
        Dim wksCurSheet As Worksheet
        Dim wbkCurBook, wbkSrcBook As Workbook
     
        fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
     
        If (vbBoolean <> VarType(fnameList)) Then
     
            If (UBound(fnameList) > 0) Then
                countFiles = 0
                countSheets = 0
     
                Application.ScreenUpdating = False
                Application.Calculation = xlCalculationManual
     
                Set wbkCurBook = ActiveWorkbook
     
                For Each fnameCurFile In fnameList
                    countFiles = countFiles + 1
     
                    Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)
     
                    For Each wksCurSheet In wbkSrcBook.Sheets
                        countSheets = countSheets + 1
                        wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)
                    Next
     
                    wbkSrcBook.Close SaveChanges:=False
     
                Next
     
                Application.ScreenUpdating = True
                Application.Calculation = xlCalculationAutomatic
     
                MsgBox "Processed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"
            End If
     
        Else
            MsgBox "No files selected", Title:="Merge Excel files"
        End If
    End Sub

    Source : ablebits.com

    1. Cliquez ensuite sur le bouton  » Run  » pour fusionner.
    merger-excel-file
    1. Sélectionnez ensuite les fichiers Excel que vous souhaitez fusionner. Cliquez ensuite sur « Open ».
    excel-dialog
    1. Attendez la fin du processus.
    merger-excel-end

    Dernières articles