Copie Module de Classeur A vers Classeur B
Bonjour à tous,
J'ai créé un fichier pour mettre en place des appels d'offre pour la société pour laquelle je travaille.
Le classeur mère (en attache contient 3 modules liés à trois boutons situés sur la feuille principale "Cover").
- Le 1ier module permet d'envoyer une copie à chacun des fournisseurs participants à l'appel d'offre. Ces fournisseurs sont références par nom et email du destinataire sur la feuille "Vendors List".
- Le 2ieme module doit permettre au fournisseur de renvoyer l'appel d'offre une fois complété à notre société.
- Le 3ieme et dernier module est juste une envoi d'email pour confirm au fournisseur la bonne réception de son offre.
Lors de l'envoi de l'email via le 1ier module un nouveau fichier est généré via la commande SaveAs.
Mon but : transférér les modules 2 et 3 sur ce nouveau fichier reçu par le fournisseur afin qu'il puisse activer le module 2 de renvoi.
J'ai essayé plusieurs bout de codes ici et là mais sans succès.
Le dernier en date inséré sur le module 1 :
Dim strCode As String
Dim vbCom As VBComponent
Dim modObj As Object
On Error Resume Next
DestWbk.Copy
DestWbk.SaveAs filename:=sFilename, FileFormat:=xlOpenXMLWorkbookMacroEnabled
' Select source document
Windows("Depot Tender Data Sheet_v5.2_NO PWD No Pwd.xlsm").Activate
' Set object to the module you want to export.
Set modObj = Application.VBE.ActiveVBProject.VBComponents.Item("Module2")
' Place code in a string.
strCode = modObj.CodeModule.Lines(1, modObj.CodeModule.CountOfLines)
' Select destination document
Windows(sFilename).Activate
' Create a new module in workbook.
Application.VBE.ActiveVBProject.VBComponents.Add (vbext_ct_StdModule)
' Add code to new module from string variable.
Application.VBE.ActiveVBProject.VBComponents.Item("Module2") _
.CodeModule.AddFromString (strCode)
Application.VBE.ActiveVBProject.VBComponents.Item("Module2").Name = "Send to xxx"Vous trouverez en PJ le classeur avec les 3 modules.
Merci d'avance pour votre aide.
Bonjour à tous,
L'un d'entre vous aurait-il une solution à mon problème de copie module d'un classeur A vers classeur B à intégrer sur la fonction SaveAs et Send as email?
Dois-je reformuler mon problème?
Merci pour votre aide.
Bon vendredi.
Bonjour je pense que ce lien qui explique comment copier tous les modules peut vous aider ; il suffit d'y insérer une condition supplémentaire
If Module.Name<> "Module1" si vous ne souhaitez pas joindre le premier module.
https://fr.extendoffice.com/documents/excel/5385-excel-export-all-macros.html