Enfin, pour finir sur votre exemple : si vous aviez 10 000 lignes et colonnes, range est plus intéressant.
Car vous pouvez calculer toutes vos valeurs en 1 boucles, stockées dans une array. Puis coller l'array directement dans la feuille en 1 étape.
1 accès en écriture sur le classeur vs 10000x10000=1e8 accès
Je vous conseille de tester avec 1000 plutot que 10 000. Car ça m'a quand meme pris 30 secondes en "mode rapide". Précisons que le calcul de l'array en revanche est quasi instantané.
Sub test()
Dim k As Long, i As Long, nb As Long
nb = 1
' très rapide
Dim myArr(1 To 10000, 1 To 10000) As Long
For k = 1 To 10000
For i = 1 To 10000
myArr(i, k) = nb
nb = nb + 1
Next i
Next k
' lent
With ActiveSheet
.Range(.Cells(1, 1), .Cells(10000, 10000)).Value2 = myArr
End With
End Sub