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 d'éxécution 1004 la methode copy de la classe worksheet a échoué"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut "Erreur d'éxécution 1004 la methode copy de la classe worksheet a échoué"
    bonjour à tous.
    et merci d'avance à tout ceux qui prendront ne serait ce que le temps de me lire.
    mon probleme concerne une copie de feuille existante dans mon classeur excel.
    je voudrais créer une 100 aine de copie avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub addsheetbis(titre As Variant, nom As Variant, l As Integer)
    Sheets(l).Copy after:=Worksheets(Worksheets.Count)
    With Worksheets(Worksheets.Count)
        .Name = nom & titre
            Union(.Range("C5:I10"), .Range("C12:I15"), .Range("C17:I18"), .Range("C20:I22")).HorizontalAlignment = xlRight
            Union(.Range("C5:I10"), .Range("C12:I15"), .Range("C17:I18"), .Range("C20:I22")) = "-"
            End With
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub creationbis()
    Dim l As Integer
    Dim titre As Variant
    Dim f As Integer
    Dim nom As Variant
    Dim m As Integer
     
     
     
    nom = Array("a1 ", "a2 ", "a3 ", "a4 ", "a5 ", "a6 ", "a7 ", "a8 ", "a9 ", "a10 ")
    titre = Array("a", "b", "c", "d", "e", _
    "f", "g", "h", "i", "j", "k", "l")
     
     
    Application.ScreenUpdating = False
        For m = 0 To UBound(nom) Step 1
        For f = 0 To UBound(titre) Step 1
        For l = 9 To 9
        Call addsheetbis(titre(f), nom(m), l)
        Next
        Next
        Next
    End Sub
    apres l'execution de ce code, la macro crée les pages mais s arrete au nom "a3" avec le titre "j" en me mettant "Erreur d'éxécution 1004 la methode copy de la classe worksheet a échoué"

    je clique sur debugage et elle me surligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Sheets(l).Copy after:=Worksheets(Worksheets.Count)".
    je suis un gros debutant... (j ai commence le codage en VB il y a 2 jours...... )
    donc je ne vois pas ce qu il y a d'incorrect dans cette ligne... et je me dis que vu que ca marche pour la premiere 20 aine de page, pourquoi pas alors les autres???

    ce que j ai essaye... c'est de fermer le fichier et le reouvrir apres pour enlever les traces des feuilles créées et suprimées (d apres les conseils d un collegue), mais rien n'y fait.



    si vous avez des idees, des reflexions, je vous en serais vraiment reconnaissant.

    merci bp.

    bobby.


    windows xp
    excel 2003
    Microsoft VB 6.3

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Cette feuille n'existe-t-elle pas déjà, cela ressemble à une erreur d'indice.

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut
    bonjour et merci de ta reponse ouskel.

    Citation Envoyé par ouskel'n'or Voir le message
    Cette feuille n'existe-t-elle pas déjà, cela ressemble à une erreur d'indice.

    malheureusement non...
    aucune page présente dans ce classeur excel avec ce nom la.
    d ailleurs durant tout mes tests, a chaque fois la macro s'est bloquée... mais parfois pas toujours au meme endroit, ce qui me laisse penser que ce n'est pas un probleme d appelation de feuille.

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Rien à voir avec le problème, mais j'adore :


  5. #5
    Membre habitué
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Bonjour,

    Rien à voir avec le problème, mais j'adore :

    comme je l avais dit je suis debutant...
    je mets 9 il me met qu il veut un "To" ... je lui rajoute un 9! systeme D!

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Alors tu peux remplacer ta boucle par un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Call addsheetbis(titre(f), nom(m), 9)
    Moi je ne suis pas comme certain, j'me moque pas des débutants... je me souviens ! J'ai pas la mémoire défaillante comme certains (salut uccomplètementfoutue)

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

Discussions similaires

  1. [XL-2007] Erreur d'exécution 1004 La méthode Select de l'Objet Worksheet a échoué !
    Par Nonno 94 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 08/11/2013, 15h39
  2. Erreur 1004 : la methode Paste de la classe Worksheet a échoué
    Par jambonland dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/08/2013, 10h29
  3. [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
  4. 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
  5. Réponses: 13
    Dernier message: 29/06/2007, 18h03

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