bon, effectivement ça plante aussi chez moi, mais de toute façon ce n'est pas une bonne idée de créer une copie que tu détruis immédiatement. J'ai donc contourné le problème, en créant une nouvelle feuille une seule fois, puis dans la boucle, j'y copie le contenu de la feuille2 et je l'efface immédiatement (pour émuler le fonctionnement de ton ancienne macro). Tu verras que ça va déjà beaucoup plus vite (même si ça n'est pas immédiat), et que tu n'es plus limité dans ta boucle. Voici juste la macro que j'ai modifiée (commandbutton1) :
Private Sub CommandButton1_Click()
Dim NbCopies As Long, Cel As Range
Dim Feuille2 As Worksheet, NFeuille As Worksheet
Set Cel = Worksheets("Feuil1").Range("A1")
Set Feuille2 = Worksheets("Feuil2")
Feuille2.Copy after:=Sheets(3)
Set NFeuille = ActiveSheet
Application.ScreenUpdating = False
For NbCopies = 1 To Cel.Value
Feuille2.Cells.Copy NFeuille.Range("A1")
'je ne supprime pas le contenu de la feuille si la boucle est finie,
'pour que tu voies que tout est bien copié
If NbCopies < Cel.Value Then NFeuille.Cells.Delete
'normalement, tu mets juste ça
'NFeuille.Cells.Delete
Next NbCopies
Application.DisplayAlerts = False
'pour détruire la nouvelle feuille à la fin du traitement
'NFeuille.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub