Option Explicit
Sub fragmenter()
Dim i%, n%, Origine As Workbook, xl As Excel.Application, Cible As Workbook, ws As Worksheet, entetes
Set Origine = ThisWorkbook
Set xl = CreateObject("Excel.Application")
xl.Visible = True
n = 1
entetes = Origine.Sheets(1).Range("A1:E1")
For i = 2 To Origine.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row Step 19
Origine.Sheets(1).Range("A" & i & ":E" & i + 18).Copy
Set Cible = xl.Workbooks.Add
Set ws = Cible.Sheets(1)
ws.Cells(2, 1).Select
ws.Paste
ws.Cells(1, 1).Resize(1, 5) = entetes
Cible.SaveAs Filename:=Origine.Path & "\fichier#" & n & ".csv", FileFormat:=xlCSV, CreateBackup:=False
Cible.Close
n = n + 1
Next
xl.Quit
Application.CutCopyMode = False
End Sub