|
|
|
|
Bonjour,
|
Bonjour,
|
Bonjour,
|
Salut marina,
|
Salut,
|
Bonjour,
|
Bonjour,
Sub CopieClasseur()
Dim fs, F, f1, s, sf
Dim Ext As String, Chemin As String
Dim T As String, Fin As Long
Dim FL1 As Worksheet
Dim FL2 As Worksheet
Ext = "xls" : Chemin = "G:\" 'à adapter
Set fs = CreateObject("Scripting.FileSystemObject")
Set F = fs.GetFolder(Chemin)
Set sf = F.Files
Set FL1 = Workbooks("Classeur2").Sheets("Feuil1") 'à adapter
Fin = 1
For Each f1 In sf
If Right(f1.Name, 3) = Ext Then 'pour être certain que c'est un classeur
Workbooks.Open Chemin & f1.Name
Set FL2 = ActiveWorkbook.Sheets("Feuil1")
T = FL2.Range("A1").SpecialCells(xlCellTypeLastCell).Address
FL2.Range("A1:" & T).Copy
FL1.Activate
Cells(Fin, 1).Activate
ActiveSheet.Paste
Fin = Fin + FL2.Range(T).Row
Workbooks(f1.Name).Close SaveChanges:=False
Set FL2 = Nothing
End If
Next
FL1 = Nothing
End Sub
'ATTENTION Il faudra peut-être trouver un autre moyen pour 'trouver la dernière ligne pour T 'Si données toujours renseignées dans une colonne fixe changer par 'Range("A65536").End(xlUp).Row > avec A la lettre de la colonne. A+ L'expérience instruit plus sûrement que le conseil. (André Gide) |
Fusion de plusieurs fichiers excel en un seul
|
Fusion de plusieurs fichiers excel en un seul
|
Bonjour tous et toutes,
|
Bonjour,
dim DebutLigne as long, NBlignes as long
DebutLigne = Range("A65536").End(xlUp).Row
et en fin de macros (dernière ligne) NBlignes = Range("A65536").End(xlUp).Row - DebutLigne
A+ L'expérience instruit plus sûrement que le conseil. (André Gide) Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius) |