Bonjour à tous,
Je bloque sur une action toute simple, et vous saurez certainement m'aider (je suis débutant sous VBA).
Je souhaite copier une feuille sur laquelle je fais des calcul, d'un classeur vers un autre classeur. Le calcul se fait plusieurs fois (69 fois) et pour chaque calcul je souhaite sauvegarder cette feuille dans un nouveau classeur (avec des nom déjà défini). Donc au final j'aurai un classeur de 69 feuille.
Cette opération fonctionne jusqu'à 59eme copier/coller. Au-delà j'ai une erreur "Erreur d'exécution 1004. La méthode Copy de la classe Worksheet a échoué"
Je remarque que plus cela avance dans la copie et plus la copie devient lente.
Je pense que c'est un problème mémoire. Car si j'essaye faire un copié coller d'une des feuilles (dans le nouveau classeur) rien ne se passe. Par contre si je ferme ce classeur et que je le rouvre il m'est possible de copié n'importe qu'elle feuille.
Merci de votre aide
Voici mon code :
Option Explicit
Sub COCO()
Dim v As Variant
Dim i As Integer
Dim NewFichier As String
Workbooks.Add
NewFichier = ActiveWorkbook.Name
For i = 1 To 69
v = wParam.Cells(4 + i, 2).Value
wCalc.Range("Nom" ).Value = v
Workbooks("Classeur1.xls" ).Activate
wCalc.Copy After:=Workbooks(NewFichier).Sheets(Workbooks(NewFichier).Sheets.Count)
Sheets("Calcul" ).Name = Range("D6" ).Value
Next
End Sub
Message édité par nass9500 le 09-12-2010 à 15:57:20