1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Sub test()
Dim wbk As Workbook, awbk As Workbook
Dim wsh As Worksheet
Dim Fich As String
Dim Ligne As Double
Application.ScreenUpdating = False
'définie le classeur de destination, le classeur d'ou la macro est lancée
Set awbk = ThisWorkbook
'définie la feuille de destination
Set wsh = awbk.Sheets(1)
'définie le répertoire ou se trouve les fichiers à copier
Fich = Dir("C:\Bilan\*.xls")
'dans chaque fichier
Do While Fich <> ""
With wsh
'définie a partir de la colonne A la dernière ligne vide
Ligne = .Range("A65536").End(xlUp).Row + 1
'définie et ouvre le fichier source
Set wbk = Workbooks.Open("C:\Bilan\" & Fich)
'copie une plage de cellule ici "A7:H" & dernière ligne pleine de la colonne H
'dans la feuille de destination à la première ligne vide à partir de la colonne A
'TU DEVRAS ADAPTER LA PLAGE A TES BESOINS ici : (range ("A7", wbk.etc...)
wbk.Sheets("Feuil1").Range("A7", wbk.Sheets("Feuil1").Range("H65536").End(xlUp)).Copy .Cells(Ligne, 1)
End With
'ferme le classeur source
wbk.Close False
Fich = Dir
'remet à zéro la variable qui ouvre le fichier source
Set wbk = Nothing
Loop
Set wsh = Nothing
Set awbk = Nothing
Application.ScreenUpdating = True
End Sub |
Partager