IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur : Copier / Coller successifs


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 3
    Par défaut Erreur : Copier / Coller successifs
    Bonjour,

    Je souhaiterais copier une feuille d'un classeur dans un autre classeur par l'intermédiaire du VBA. Pour cela j'utilise la méthode Copy sur un objet Worksheet qui fonctionne parfaitement bien tant que la feuille n'est pas trop volumineuse.

    Mon problème est que je dois parfois copier des feuilles contenant des données sur environ 200000 lignes et 200 colonnes. Dans ce cas la méthode Copy échoue. J'ai donc pensé à appeler plusieurs fois la méthode Copy sur des objets Range de la feuille à copier pour que les données soient copiées par petits blocs dans mon autre classeur. Les premiers appels de la méthode Copy fonctionnent mais au bout de 4 ou 5 "Copier/Coller", la méthode Copy échoue car : "Excel ne peut pas terminer cette tâche avec les ressources disponibles."

    Je ne comprend pas pourquoi Excel ne dispose pas de ressources suffisantes pour faire une opération qu'il a déjà effectué plusieurs fois sans soucis.
    J'ai essayé de vider le presse-papiers et de sauvegarder le classeur entre chaque appel de la méthode Copy mais rien n'y fait...

    Si quelqu'un a une solution ou une explication , Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Excel gère très mal la mémoire dont il dispose. Veille à mettre une ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CutCopyMode = False
    Après chaque collage. Tu peux aussi essayer d'enregistrer ton classeur périodiquement (sans garantie...)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 3
    Par défaut
    Merci pour la réponse,

    J'avais déjà utilisé cette ligne d'instruction. Je crois que j'ai utilisé à peu près toutes les solutions que j'ai pu trouver concernant le presse-papiers.
    Concernant la sauvegarde périodique, j'avais également fait un essai en sauvegardant le classeur entre chaque "Copier/Coller".

    J'ai fait le tour d'Internet aussi, mais il me semble qu'il n'y a pas vraiment de solutions permettant d'améliorer la gestion de la mémoire dans Excel...

    J'aurai bien aimé récupérer des informations sur la mémoire libre mais les méthodes MemoryFree & co ne sont plus disponibles.

    Je crois que je suis dans l'impasse...

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu peux copier directement les valeurs entre 2 feuilles. Ici transfert des valeurs de feuil1 vers feuil2 (sans les mises en forme)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil2").Range("A1:KL20000").Value = Worksheets("Feuil1").Range("A1:KL20000").Value

Discussions similaires

  1. [XL-2007] Erreur copier coller vba
    Par Rob's dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/07/2014, 17h37
  2. Erreur Copier-Coller / Utiliser un tableau?
    Par nianko dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/01/2013, 11h30
  3. [XL-2007] Erreur copier coller entre 2 classeurs
    Par antoine2933 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/06/2012, 12h49
  4. [OWB] Erreur copier/coller d'objet
    Par Ujitsu dans le forum Outils
    Réponses: 0
    Dernier message: 28/11/2008, 11h42
  5. Erreur Bizarre 'copier-coller'
    Par papy_tergnier dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/11/2005, 14h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo