Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1179 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Copier feuille Excel vers un autre classeur qui bloque

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Copier feuille Excel vers un autre classeur qui bloque

n°2041125
nass9500
Posté le 09-12-2010 à 15:53:30  profilanswer
 

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
mood
Publicité
Posté le 09-12-2010 à 15:53:30  profilanswer
 

n°2041150
Xxxaaavvv
Posté le 09-12-2010 à 17:19:51  profilanswer
 

ç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 :o
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...
 


Sub COCO(wParam As Worksheet, wCalc As Worksheet)
 
Dim i As Integer
   
Dim objNewWorkbook As Workbook
 
Set objNewWorkbook = Workbooks.Add
 
For i = 1 To 69
     
        wCalc.Range("Nom" ).Value = wParam.Cells(4 + i, 2).Value
         
        wCalc.Copy After:=objNewWorkbook.Sheets(objNewWorkbook.Sheets.Count)
         
        WORKBOOK???.Sheets("Calcul" ).Name = WORKBOOK???.WORKSHEET???.Range("D6" ).Value
    Next
End Sub
 
 


n°2041171
kiki29
Posté le 09-12-2010 à 18:50:29  profilanswer
 

Salut,question récurrente voir http://support.microsoft.com/kb/210684/en-us


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Copier feuille Excel vers un autre classeur qui bloque

 

Sujets relatifs
envoi de données de form vers 2 fichiers phpRenommer automatiquement nom cellule Excel
Aide pour une macro sous Excel :([Vba pour Excel 2003] Ouverture auto ComboBox et reco touche Entrée.
[EXCEL] Numéroter ligne Uniquement remplies[VBA/EXCEL07] Copier une chaîne dans plusieurs cellules
Formulaire Excel CommissionsAide VBA : Copier des cellules non vides ...
[DOTNETNUKE] - comment créer un lien raccourci vers une page ?Programmation javascript Acrobat X pro pour feuille de perso cthulhu
Plus de sujets relatifs à : Copier feuille Excel vers un autre classeur qui bloque


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR