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 :

Copier une feuille dans un autre classeur méthode .copy ne marche pas [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Apprenti technicien en informatique
    Inscrit en
    Décembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Apprenti technicien en informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 23
    Par défaut Copier une feuille dans un autre classeur méthode .copy ne marche pas
    Bonjour le forum,

    Je cherche à copier coller la feuille d'un classeur-modèle dans un classeur-cible via la méthode .copy, Or cela ne marche pas j'ai cherché un peu et je retrouve toujours la même méthode et certains disent qu'elle fonctionne très bien je voulais savoir si je n'avais donc par une erreur dans mon code ou alors si il y a une autre méthode.

    Les Variables ont été préalablement déclarées.

    CLASSEUR_MODELE_NAME = Classeur-modèle
    str_WSName = Classeur-cible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open (CHEMIN_FICHIER_MODELE)
            Workbooks(CLASSEUR_MODELE_NAME).Sheets(FEUILLE_SECURITE_NAME).Copy after:=Workbooks(str_WSName).Sheets(1)
    Merci beaucoup.
    Dragern

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    pour ceci :
    Citation Envoyé par Dragern Voir le message
    ...
    Les Variables ont été préalablement déclarées.

    CLASSEUR_MODELE_NAME = Classeur-modèle
    str_WSName = Classeur-cible
    ...
    ce n'est pas une déclaration de variable mais plutôt une affectation ... , il aurait était bien que tu mette ton vrai code plutôt que ce pseudo-code qui ne nous permet pas de savoir si tu déclare et affecte bien tes variables ...!

    l'on ne sait pas non plus comment tu ouvre le classeur cible ...

    tu ne nous dis pas non plus ce qu'il se passe lorsque tu exécute ton code ...?

  3. #3
    Membre averti
    Homme Profil pro
    Apprenti technicien en informatique
    Inscrit en
    Décembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Apprenti technicien en informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 23
    Par défaut
    Global Const FEUILLE_SECURITE_NAME = "Sécurité"
    Global Const CHEMIN_SOURCE_PROGRAMME = "U:\\Repertoire\"
    Global Const CLASSEUR_MODELE_NAME = "Repertoire modele interimaire"
    Global Const CHEMIN_FICHIER_MODELE = CHEMIN_SOURCE_PROGRAMME & "Repertoire modele interimaire.xlsx"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function ongletexiste(onglet As String, str_WSName) As Boolean
     
    Dim ligne As Long
     
        On Error GoTo Erreur_onglet
        ongletexiste = False
    ' Si la feuille n'est pas rien alors renvoie la valeur vrai
        If Not Workbooks(str_WSName).Sheets(onglet) Is Nothing Then
            ongletexiste = True
        End If
     
    Erreur_onglet:
     
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        If ongletexiste(FEUILLE_SECURITE_NAME, str_WSName) Then
            GoTo Dispo
        Else
    'La méthode .Copy ne marche pas
            Workbooks.Open (CHEMIN_FICHIER_MODELE)
            Workbooks(CLASSEUR_MODELE_NAME).Sheets(FEUILLE_SECURITE_NAME).Copy after:=Workbooks(str_WSName).Sheets(1)
            Workbooks(CHEMIN_FICHIER_MODELE).Close
    Le code se résume à ça et sa indique que la méthode copy de la classe worksheet a échoué

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par bbil Voir le message
    ...

    l'on ne sait pas non plus comment tu ouvre le classeur cible ...

  5. #5
    Membre averti
    Homme Profil pro
    Apprenti technicien en informatique
    Inscrit en
    Décembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Apprenti technicien en informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 23
    Par défaut
    Le classeur cible est déjà ouvert

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour !

    Pas de souci avec la méthode Copy !

    En activant l'Enregistreur de macros puis en effectuant l'opération manuellement, une base de code est livrée sur un plateau ‼
    En comparant avec ta tentative, tu trouveras ta boulette …


    ______________________________________________________________________________________________________
    Je suis Paris, …

  7. #7
    Membre averti
    Homme Profil pro
    Apprenti technicien en informatique
    Inscrit en
    Décembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Apprenti technicien en informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 23
    Par défaut
    Merci Marc j'ai utilisé l'enregistreur et j'ai trouvé une erreur, c'était ma variable qui posait problème.

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

Discussions similaires

  1. [VBA][Excel]Copier une feuille dans un nouveau classeur
    Par illight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/10/2020, 12h51
  2. [XL-2002] Macro pour copier une feuille dans un autre classeur
    Par JBeaunez dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/02/2012, 21h46
  3. [XL-2003] Copier une feuille dans un autre classeur
    Par mistermail dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/10/2009, 18h06
  4. [XL-2003] ERREUR 9 Archivage d'une feuille dans un autre classeur
    Par altra dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 18/08/2009, 11h15
  5. Réponses: 2
    Dernier message: 15/02/2008, 09h24

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