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 :

Copie automtique macro vers un nouveau classeur


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Copie automtique macro vers un nouveau classeur
    Bonjour,

    Je m'appelle Charles, après avoir passé des heures entières sur ce forum il me reste quelques interrogations. Voila pourquoi je suis nouveau parmi vous. je vous remercie pour votre acceuil et pour votre aide future dans ce forum qui me semble très actif.


    j'ai crée un userfom qui me permet de créer un nouveau classeur à partir du document initial et en cliquant sur le bouton valider du userform.

    - Mon classeur initial s'appelle "AFI essai macro V3"
    - Le classeur créé est nommé en fonction des informations rentrées dans le userfom (Nom1 et Nom2), ce qui nous donne dans le code :
    ActiveWorkbook.SaveAs "Synthèse Financière" & " " & Nom2 & " " & Nom1

    - Ensuite, je copie les onglets du classeur initial vers le classeur crée


    Voici ma problématique:

    Ces onglets possèdent des macro en version userform et module. Le problème est que je n'arrive pas à copier ni le code d'un userform, ni celui d'un module vers le nouveau document.

    Pour résumer, ma question est : Comment copier les macros des onglets sur un classeur nouvellement crée?

    - Quand je lance la macro, un troisième classeur excel se crée en plus du classeur appelé "Synthèse Financière" & " " & Nom2 & " " & Nom1
    - Ce troisième classeur contient bien contient bien ma macro du userfom. Je souhaiterais cependant que ce troisième classeur ne soit pas crée et que la macro soit directement copiée dans mon classeur "Synthèse Financière" & " " & Nom2 & " " & Nom1.


    Voici la macro:

    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
    'activation du bouton valider'
    Private Sub CommandButton_valider_Click()
     
    'on cree et on renomme un nouveau classeur'
    'création de l'objet excel'
    Dim Nom1 As String
    Dim Nom2 As String
     
    Nom1 = TextBox_nom_de_la_societe
    Nom2 = TextBox_nature_de_l_operation
     
     
     
    'copie onglets'
    Worksheets(Array(" Données initiales", " Liasse", "Contrôles liasses", "Retraitement", "Actif", "Passif", "Compte de résultat", "BFR", "Flux", "Ratios", "Synthèse")).Copy


    'nomination du nouveau dossier'
    ActiveWorkbook.SaveAs "Synthèse Financière" & " " & Nom2 & " " & Nom1

    C'est ici que ca bug
    'essai copie un userform'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton1_Click()
    Workbooks("AFI essai macro V3.xlsm").VBProject.VBComponents("Userform1").Expo rt "frmtoto"
    Sheets(1).Copy
    ActiveWorkbook.VBProject.VBComponents.Import "frmtoto"
    'fermer le userform'
    Unload UserForm_creation_synthese
     
    'message enregistrement nouveau dossier'
    Call MsgBox("Veuillez enregistrer ce dossier nouvellement crée", , "Nouvelle synthèse créée")
     
     
    End Sub
    Je vous remercie

  2. #2
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Pourquoi tu ne base pas le tronc principal de ton nouveau classeur dur l'ouverture d'un modèle ?

    cordialement,

    Didier

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je souhaite que le nouveau document soit créé après entrée des données initiales par l'utilisateur, je passe donc par un userform, ce nest peut etre pas la solution optimale

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    si ton action se résume à créer un nouveau classeur identique à un autre (avec macros etc..) mais dont le nom sera lui créé selon les données entrées dans un USF, à mon sens la bonne solution est de créer un modèle (en .xlt ou .xltm) et de se servir d'un USF pour enregistre le classeur généré par l'appel au modèle sous le nom voulu à l'endroit voulu

    cordialement,

    Didier

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je vous remercie pour votre réponse,
    Je vais approfondir le sujet.

    J'ai réenregistré mon document initial en .xtlm.
    Lorsque que je crée mon nouveau document via le userform, la macro ne suit toujours pas.

    Je vais approfondir le sujet.

    Charles

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    c'est bon j'ai trouvé

    jai remplacer mon ajout par ce code est ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Workbooks("AFI essai macro V4.xlsm").VBProject.VBComponents.Item("UserForm_ajouter_année").Export "essai"
     
    ActiveWorkbook.VBProject.VBComponents.Import "essai"

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

Discussions similaires

  1. [XL-2007] Copie de graphes vers une nouveau classeur
    Par DarkGriffin dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2015, 16h48
  2. [XL-2007] copié vers un nouveau classeur
    Par iliesss dans le forum Excel
    Réponses: 3
    Dernier message: 21/12/2010, 14h00
  3. Copier feuille vers un nouveau classeur
    Par fred792 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/10/2008, 11h23
  4. Copie de colonnes vers un autre classeur
    Par Jeyjey1 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/02/2008, 12h14
  5. Copies de feuilles dans un nouveau classeur
    Par malkkom dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/09/2007, 11h45

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