rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

VBA EXCEL - BUG : Copie feuille

Posté par nnaoy33, le jeudi 3 janvier 2008 à 21:03:36
Bonjour,
Bonjour à tous,
Voilà j'ai un petit soucis avec une de mes macros sur un classeur:

Le 1 er classeur est composé d'un tableau dont j'aimerai dispatcher chaque ligne dans des feuilles d'un 2ème classeur. (Ce classeur étant composé d'autant de feuilles que mon tableau a de lignes)

Voila comment se passe la macro :
J ai créé dans le 2ème classeur une feuille modèle cachée :
A chaque ligne la macro copie ma feuille, la remplit, passe à la ligne suivante. J'ai créé une boucle...

Malheureusement cette boucle ne marche que 56 fois alors que mon tableau comprend 250 lignes (au maximum).
Apparait alors cette erreur:

Erreur d'execution 1004
La méthode Copy de la classe Worksheet a échoué.

sur cette ligne :
Classeur.Sheets("Modele").Copy after:=Classeur.Sheets("Accueil") 'Acceuil étant une feuille d'acceuil dans le 2ème classeur


Cette ligne est pourtant dans la boucle!!
- Je n'ai pourtant pas dépasser le nombre maximal de feuilles autorisées dans un classeur. Je peux d'ailleurs rajouter des onglets manuellement.
- La feuille modèle ne "pèse" que 200Ko

HELP !!
Merci beaucoup d'avance

Yoann

PS : j'espère que j'ai été plutot clair. Je peux donner plus d'info si besoin, mais je pense que l'essentiel du problème est la.
Configuration: Windows XP
Internet Explorer 6.0
Répondre à nnaoy33  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gbinforme, le jeudi 3 janvier 2008 à 22:13:44
bonjour

- Je n'ai pourtant pas dépasser le nombre maximal de feuilles autorisées dans un classeur.

le nombre maximal de feuilles dans un classeur est fonction de la mémoire disponible...

Je peux d'ailleurs rajouter des onglets manuellement.

Sans doute que ta procédure VBA occupe de la mémoire qui est ensuite libérée.


- La feuille modèle ne "pèse" que 200Ko

C'est la taille disque mais en mémoire ce n'est pas forcément pareil.

Tu devrais regarder si tu peux optimiser ta procédure pour ne pas créer de réservations de zones inutiles ou non libérées.

Si tout est optimum, il faut aller voir le marchant de barrettes...


toujours zen
Répondre à gbinforme

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nnaoy33, le vendredi 4 janvier 2008 à 08:26:02
Coucou
Tout d'abord merci de m'avoir répondu.

J ai "allégé" mon classeur contenant la macro. J ai supprimé mes userforms et autres macro inutiles au fonctionnement de celle ci, de sorte qu'il ne reste plus que l'essentiel.
Malheureusement aucune feuille de plus n'est créée.
J ai peut etre une solution mais j'aimerai avoir votre avis avant : de refaire partir une autre boucle à partir de la 55ème ligne de mon tableau. Boucle qui aurait la meme allure.
Est ce inutile? Je vais essayer, je vous tiens au courant. Je suis débutant en programmation j'en ai donc pour un petit moment...

Yoann
Répondre à nnaoy33

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nnaoy33, le vendredi 4 janvier 2008 à 11:56:42
Me revoilou
J ai donc essayé de recréer la meme boucle pour les lignes restantes.
J'ai été obligé de réouvrir un 2ème classeur bis. Cependant il ne peut me créer que 18 feuilles dans ce nouveau classeur.
J'ai enlevé :
Application.ScreenUpdating
pour libérer de la mémoire.

Mais toujours pas : le 2ème classeur bloque à 56 feuilles et le 2ème bis à 18.

GRRRR.....
Une idée?
MErci d'avance.
Yoann
Répondre à nnaoy33

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dan_ange, le mercredi 19 mars 2008 à 12:55:52
Bonjour, j'ai moi-même un résultat bizarre en voulant copier une feuille avec VBA dans excel 2000. Sur mon poste, les choses se déroulent comme prévu : insertion d'une copie d'une feuille juste après celle-ci et renommage.
Mais sur d'autres postes la macro commence et...s'envole je ne sais où sans qu'il y ait copie.
Apparemment, la sélection de la feuille se passe bien, mais la demande de copie entraine une sortie de la procédure. pendant quelques secondes, l'accès à la copie de la feuille (par le bouton droit "copier et déplacer") n'est pas accessible sur cette feuille.

Mon poste est équipé d'accès. Les autres non.
Dans les "outils " de Visual Basic Editor, il est écrit dans les modules cochés :" manquant CPSEtendedControls 1.0 type library".

Toutes les autres fonctions programmés marchent bien (apparition de calendrier, masquage ou affichage de lignes par un bouton, etc).
Répondre à dan_ange

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dan_ange, le mercredi 19 mars 2008 à 12:57:06
Bonjour, j'ai moi-même un résultat bizarre en voulant copier une feuille avec VBA dans excel 2000. Sur mon poste, les choses se déroulent comme prévu : insertion d'une copie d'une feuille juste après celle-ci et renommage.
Mais sur d'autres postes la macro commence et...s'envole je ne sais où sans qu'il y ait copie.
Apparemment, la sélection de la feuille se passe bien, mais la demande de copie entraine une sortie de la procédure. Pendant quelques secondes, l'accès à la copie de la feuille (par le bouton droit "copier et déplacer") n'est pas accessible sur cette feuille.

Mon poste est équipé d'Access. Les autres non.
Dans les "outils " de Visual Basic Editor, il est écrit dans les modules cochés :" manquant CPSEtendedControls 1.0 type library".

Toutes les autres fonctions programmés marchent bien (apparition de calendrier, masquage ou affichage de lignes par un bouton, etc).
Répondre à dan_ange

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 dan_ange, le mercredi 19 mars 2008 à 13:00:32
Je rajoute que j'ai essayé après cela d'enregistrer basiquement une simple macro de copie de feuille (sur les postes où cela ne marche pas).
L'enregistrement se passe bien, mais la macro agit de la même façon que mon programme dès qu'elle rencontre le terme "copy".
Répondre à dan_ange
Logiciels pertinents trouvés dans les téléchargements
Télécharger Excel Viewer 2003Excel Viewer - Avec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS ), même...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger Real Alternative 1.8.0Real Alternative - Real Alternative permet de lire des fichiers RealMedia sans avoir à installer RealPlayer. Ainsi, tous les formats...Catégorie: Codecs
Licence: Freeware/gratuit
Télécharger GANTT Project 2.0.7GANTT Project - GanttProject est un outil de gestion de projet libre, permettant de réaliser des diagrammes de GANTT afin de planifier un...Catégorie: Gestion de projet
Licence: Open Source
Télécharger DVD Shrink 3.2.0.16DVD Shrink - DVD Shrink permet de faire une copie personnelle d'un DVD en effectuant une extraction des pistes du DVD sur le disque dur,...Catégorie: Copie/Extraction
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « VBA EXCEL BUG : Copie feuille »