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 1004 : la methode Paste de la classe Worksheet a échoué


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Erreur 1004 : la methode Paste de la classe Worksheet a échoué
    Bonjour,

    J'ai un problème similaire à cette discussion, avec l'erreur "la méthode Paste de la classe worksheets a échouée".
    Je ne le comprends pas car le code est issu d'un enregistrement de macro, auquel j'ai juste modifié les valeurs fixes par des variables.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Windows("MACRO Indicateur ruptures.xls").Activate
        Sheets("Tableau J").Activate
        derniere_ligne = Range("A65536").End(xlUp).Row
        derniere_colonne = Range("IV1").End(xlToLeft).Column
        Range(Cells(1, 1), Cells(derniere_ligne, derniere_colonne)).Select
        Selection.Copy
     
        Windows("MACRO QUOTIDIENNE.xls").Activate
        Sheets("Tableau J").Activate
        ActiveSheet.Cells.ClearContents
        ActiveSheet.Cells.ClearFormats
        Range("A1").Select
        ActiveSheet.Paste
    Avez-vous une idée d'où peut venir l'erreur?

    Bonne journée,

    jambonland

  2. #2
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Points : 1 499
    Points
    1 499
    Par défaut erreur 1004 : la methode paste de la classe worsheet à échoué
    bonjour,

    essai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub Copie_Vers_MacroQuotidienne()
      Sheets("Tableau J").Copy
     
      ClasseurCible = "MACRO QUOTIDIENNE.xls"
      ActiveWorkbook.SaveAs ClasseurCible
    End Sub
    il est indispensable de prévoir displayealerte = false pour éviter les messages inutiles.

    pour rendre à Cesar le merite qui lui revient: j'ai trouver cette syntaxe sur le site de Michel Vergriete section excel VBA.

    cordialement

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Points : 75
    Points
    75
    Par défaut
    Bonjour

    Même réponse qu'ISSORAM

    Commence par effacer les données de ta feuille cible et execute par la suite ton copier coller.

    bonne continuation

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    Merci pour vos réponses.
    En revanche, la macro s'effectue sur le fichier "MACRO QUOTIDIENNE", qui est aussi le fichier de destination de la feuille à copier (ce fichier contient plusieurs feuilles). Je reçois donc un message d'erreur qui me dit qu'il n'est pas possible d'effectuer cette opération sur un classeur déjà ouvert.
    Savez-vous comment il est possible de contourner ce problème?

    Bonne journée,

    J'ai trouvé un autre moyen qui fonctionne de faire la copie.
    Voici la ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Sheets("Tableau J").Copy Before:=Workbooks("MACRO QUOTIDIENNE.xls").Sheets("Tableau J")
    Cette ligne ajoute par contre une nouvelle page au fichier "MACRO QUOTIDIENNE.xls".

    Bonne journée,

  5. #5
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Points : 1 499
    Points
    1 499
    Par défaut erreur 1004 : la methode paste de la classe worsheet à échoué
    bonjour,

    evx136: Bizarre, je ne vois pas de réponse ISSORAM sur mon ordi !

    jambonland: Quelle réponse as-tu retenue ?
    Je ne comprends pas: Ta macro est logée dans un module standard ou sur la feuille Excel de destination ?

    cordialement.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    nibledispo :
    Je n'ai pas de réponse d'ISSORAM non plus.
    J'ai retenu le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Sheets("Tableau J").Copy Before:=Workbooks("MACRO QUOTIDIENNE.xls").Sheets("Tableau J")
    Ma macro est dans un module standard du fichier "MACRO QUOTIDIENNE.xls" (fichier de destination). Quand je voulais à partir de cette macro utiliser votre code, j'avais un message d'erreur disant que je ne pouvais agir sur le fichier déjà ouvert (celui sur lequel tourne la macro).

  7. #7
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Points : 1 499
    Points
    1 499
    Par défaut erreur 1004 : la methode paste de la classe worsheet à échoué
    re....,

    la discussion est résolue ?

    Qu'as-tu fait pour résoudre le problème, la solution finale, peut interesser des gens, ne crois-tu pas ?

    Par ailleurs, module standard ou sur feuille destination, ce n'est pas la même chose

    Cordialement.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    Oui comme dit dans mon message précédent, le code ci-dessous m'a permis de résoudre le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Sheets("Tableau J").Copy Before:=Workbooks("MACRO QUOTIDIENNE.xls").Sheets("Tableau J")
    Il suffit d'activer le fichier source auparavant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    worbooks(fichier_source).activate
    La copie est effectuée sur le fichier de destination (sur la feuille "Tableau J"), qui est le fichier contenant le module standard dans lequel la macro tourne.

    Est-ce clair?

    Cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Erreur 1004 : la methode Paste de la classe Worksheet a échoué
    Par bricko dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/06/2013, 01h53
  2. Erreur 1004 La methode copy de la classe Worksheet a echoué
    Par Bernard67 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 09/04/2008, 16h39
  3. Réponses: 14
    Dernier message: 19/12/2007, 17h58
  4. La methode paste de la classe worksheet a échoué
    Par jean-paul lepetit dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/09/2007, 17h59
  5. Méthode Paste de la classe Worksheet a échoué
    Par cerberuspau dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 03/06/2007, 12h13

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