Sub bobylaroche()
Dim DerLig As Long, TabLigDeb, TabLigFin, i As Integer, x As Integer
Dim WS1 As Worksheet
Set WS1 = Worksheets("Chevaux")
x = 0
'********** determination des lignes de début et fin de plages
DerLig = WS1.Range("A" & Rows.Count).End(xlUp).Row 'dernière ligne non vide
'**** determination des lignes débit de plage
ReDim TabLigDeb(x)
For i = 1 To DerLig
If WS1.Cells(i, 1) <> "" And WS1.Cells(i, 2) = "" Then
TabLigDeb(x) = i + 6
x = x + 1
ReDim Preserve TabLigDeb(x)
End If
Next
'**controle si le nb de plage ne dépasse pas le nb de feuille
If UBound(TabLigDeb) > Worksheets.Count - 1 Then
MsgBox "Il y a plus de plages à traiter que feuilles !!!"
Exit Sub
End If
'**** determination des lignes fin de plage
ReDim TabLigFin(UBound(TabLigDeb))
For i = 0 To UBound(TabLigDeb) - 1
If i < UBound(TabLigDeb) - 1 Then
TabLigFin(i) = TabLigDeb(i + 1) - 8
Else
TabLigFin(i) = DerLig
End If
Next
'****copie de chaque plage dans les feuilles
For i = 0 To UBound(TabLigDeb) - 1
WS1.Range("A" & TabLigDeb(i) & ":M" & TabLigFin(i)).Copy Worksheets(i + 2).Range("B8")
Next
End Sub