Sub recopie()
Application.ScreenUpdating = False
Dim tabdata() As Variant
Dim tabfinal() As Variant
With ActiveSheet
fin = .Range("A" & .Rows.Count).End(xlUp).Row
NbFinal = Application.WorksheetFunction.Sum(Range("H2:H" & fin))
tabdata = .Range("A1:H" & fin).Value
ReDim tabfinal(1 To NbFinal + 1, 1 To 7)
End With
indfeuille = 1
For j = LBound(tabdata, 2) To UBound(tabdata, 2) - 1
tabfinal(indfeuille, j) = tabdata(1, j)
Next j
For i = LBound(tabdata, 1) + 1 To UBound(tabdata, 1)
For cpt = 1 To tabdata(i, 8)
indfeuille = indfeuille + 1
For j = LBound(tabdata, 2) To UBound(tabdata, 2) - 1
tabfinal(indfeuille, j) = tabdata(i, j)
Next j
Next cpt
Next i
Sheets.Add.Name = "Result"
With Sheets("Result")
.Range("A1").Resize(UBound(tabfinal, 1), UBound(tabfinal, 2)) = tabfinal
End With
Application.ScreenUpdating = True
End Sub