Je conseille de le modifier, pour rationnaliser la chose...
En attendant, comme c'est à toi de le faire, j'opère avec l'existant :
2 plages nommées (noms dynamiques à voir dans le gestionnaire de noms) : Saisie pour la zone de saisie à transférer, Base pour la zone cible du transfert.
Un bouton sur la feuille de saisie pour opérer le transfert.
NB- la première colonne de la zone de saisie doit toujours être servie (sinon cela fausse le transfert).
Moyennant quoi l'opération devient d'une simplicité enfantine, et s'effectue avec un minimum de moyens :
Sub Transfert()
Dim n%, nb%
n = [Saisie].Rows.Count - 1
If n > 0 Then
nb = [Base].Rows.Count + 1
With [Saisie].Cells(2, 1).Resize(n, 8)
[Base].Cells(nb, 1).Resize(n, 8).Value = .Value
.ClearContents
End With
End If
End Sub
Cordialement.