Copier feuille Excel vers un autre classeur qui bloque - VB/VBA/VBS - Programmation
Marsh Posté le 09-12-2010 à 17:19:51
ça peux dépendre le la mémoire de ton PC...
si Excel n'as pas assez de puissance pour gérer un gros nombre de feuille.
Ton algorythme est cracra comme tout
Je suis un extremiste, masi bon tu navigue entre les classeurs de manière dangereuse.
il y a des instructions ou tu ne précises pas le workbook ou la worksheet que tu utilise...
|
Marsh Posté le 09-12-2010 à 18:50:29
Salut,question récurrente voir http://support.microsoft.com/kb/210684/en-us
Marsh Posté le 09-12-2010 à 15:53:30
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