Combiner des classeurs

Table des matières

Pour combiner des classeurs dans Excel, utilisez le code suivant. Ce code prendra toutes les premières feuilles de chaque classeur trouvé dans un répertoire :

123456789101112131415161718192021222324252627282930313233343536 'Fusionner les classeursSub MergeWBs()Application.EnableEvents = FalseApplication.ScreenUpdating = FauxDim path As String, ThisWB As String, lngFilecounter As LongDim wbDest As Workbook, shtDest As Worksheet, ws As WorksheetDim Filename As String, Wkb As WorkbookDim CopyRng As Range, Dim As RangeDim RowofCopySheet en tant qu'entierRowofCopySheet = 2 ' Ligne de départ dans les feuilles à partir desquelles vous copiezThisWB = ActiveWorkbook.Namepath = GetDirectory("Sélectionnez un dossier contenant les fichiers Excel que vous souhaitez fusionner")Définir shtDest = ActiveWorkbook.Sheets(1)Nom de fichier = Dir(chemin & "\*.xlsm", vbNormal)Si Len(Filename) = 0 Then Exit SubFaire jusqu'à ce que le nom du fichier = vbNullStringSi ce n'est pas le nom du fichier = ThisWB AlorsDéfinir Wkb = Workbooks.Open (Nom de fichier : = chemin & "\" & Nom de fichier)Définir CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count))Définir Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)CopyRng.Copy DestWkb.Fermer FauxFin siNom de fichier = Dir()BoucleApplication.EnableEvents = TrueApplication.ScreenUpdating = TrueMsgBox "Macro terminée"Fin du sous-marin

Monsieur Excel

wave wave wave wave wave