Copie macro vba vers nouveau classeur excel

Fermé
ch.devaux Messages postés 2 Date d'inscription vendredi 21 octobre 2011 Statut Membre Dernière intervention 4 novembre 2011 - 21 oct. 2011 à 12:17
ch.devaux Messages postés 2 Date d'inscription vendredi 21 octobre 2011 Statut Membre Dernière intervention 4 novembre 2011 - 4 nov. 2011 à 14:16
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:

'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'

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
A voir également:

2 réponses

eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 152
3 nov. 2011 à 09:06
Bonjour,

Plutôt que créer des nouveaux classeurs, pourquoi ne pas créer quelques modèle avec tes macros et userform déjà présents et les utiliser pour faire tes sauvegardes.
0
ch.devaux Messages postés 2 Date d'inscription vendredi 21 octobre 2011 Statut Membre Dernière intervention 4 novembre 2011
4 nov. 2011 à 14:16
Car l'idee est de creer un fichier de base afi que chaqque utilisateur puisse l'utiliser pour ses clients
0