Copier la macro lors de la copie d'onglets vers un nouveau classeur

Devaux

XLDnaute Nouveau
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 en partant du classeur d'origine en cliquant sur le bouton valider du userform.
- Mon classeur initial s'appelle "AFI essai macro V3"
- Le classeur crée se nomme en fonction des informations rentrées dans le userfom, 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

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 macro des onglets sur un classeur nouvellement crée?

Quand je lance la macro, un troisième classeur excel se crée et 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").Export "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
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 010
dernier inscrit
Sys974