L'erreur vient du fait que tu utilises un tableau.
Les lignes vides de ce tableau sont prises en compte dans la détermination de la dernière ligne à traiter, ce qui induit une erreur puisque la quantité est nulle et une recopie sur 0 ligne n'a pas de sens.
Le plus simple est d'ajouter un test pour la prise en compte des lignes vides.
Sub test_creation_ligne()
Dim WsS As Worksheet, WsC As Worksheet
Dim Cel As Range, Cible As Range
Set WsS = Worksheets("Feuil1")
Set WsC = Worksheets("Feuil2")
For Each Cel In WsS.Range("A2", WsS.Range("A" & Rows.Count).End(xlUp))
Set Cible = WsC.Range("A" & Rows.Count).End(xlUp)(2)
If Cel <> "" Then
Cel.Offset(, 1).Copy Cible
Cible.AutoFill Cible.Resize(Cel.Value)
End If
Next Cel
End Sub
A+