Sub Macro2()
Dim CO As Workbook 'déclare la variable CO (Classeur d'Origine)
Dim CH As String 'déclare la variable CH (Chemin d'accès)
Dim OO As Worksheet 'déclare la variable OO (Onglet d'Origine)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim NL As Long 'déclare la variable NL (Nombre de Lignes)
Dim NC As Byte 'déclare la variable NC (CNombre de Colonnes)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)
Dim K As Integer 'déclare la variable K (incrément)
Dim L As Byte 'déclare la variable L (incrément)
Dim CC As Workbook 'déclare la variable CC (Classeur Cible)
Dim OC As Worksheet 'déclare la variable OC (Onglet Cible)
Set CO = ThisWorkbook 'défint la variable CO
CH = CO.Path & "\" 'définit le chemin d'accès CH
Set OO = Sheets("said") 'définit l'onglet d'origine OO
TV = OO.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
NL = UBound(TV, 1) 'définit le nombre de lignes NL du tableau des valeurs TV
NC = UBound(TV, 2) 'définit le nombre de colonnes NC du tableau des valeurs TV
I = 1 'initialise la variable I
J = 2 'initialise la variable J
For K = J To NL 'boucle de la ligne 2 à la dernière ligne NL
Application.Workbooks.Add 'ouvre un classeur vierge
Set CC = ActiveWorkbook 'définit le classeur cible CC
CC.SaveAs CH & "Fichier_" & Format(I, "000") & ".xls", FileFormat:=xlOpenXMLWorkbookMacroEnabled 'enregistre le classeur cible CC
Set OC = CC.Sheets(1) 'définit l'onglet cible OC
OC.Name = "said_" & Format(I, "000") 'nomme OC
OC.Range("A1").Resize(1, NC) = Application.Index(TV, 1) 'copie la première ligne du tableau des valeurs
OC.Range("A2").Resize(10, NC) = OO.Range(OO.Cells(J, 1), OO.Cells(J + 10, NC)).Value 'copie les 10 lignes de la boucle
CC.Close True 'ferme le classeur cible en enregistrant les modifications
I = I + 1 'incrémente I
J = J + 10 'incrémente J
Next K 'prochaine ligne de la boucle
End Sub