[E-07] Comment affecter par macro une macro à un objet
Bonjour,
j'ai le pb suivant:
D'un fichier source ( "S") je crée un nouveau workbook("W") dans lequel j'ajoute un nouveau module M où j'écris une sub MACRO1().
Je crée ensuite, dans W, un bouton "B" auquel je veux affecter MACRO1, du workbook W.
tout se déroule bien sauf que:
la macro affectée à B appartient à un code module de S, pas à celui de W
En gros j'ai B!MACRO1 alors que je voudrais juste MACRO1
au final, si MACRO1 existe sous S alors pas de pb tant que S est ouvert. En revanche si tel n'est pas le cas, ou si je veux utiliser W sans S ça plante.
Je suppose qu'il faut que j'indique l'endroit où doit se situer MACRO1 (W!M), mais je ne sais pas comment faire.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
W.Activate
Set VBComp = wb.VBProject.VBComponents.Add(1)
'Renomme le module
VBComp.Name = "Utilitaires"
'Ajoute une macro dans le module
With VBComp.codemodule
X = .CountOfLines
.InsertLines X + 1, "Sub Fermerfichier()"
.InsertLines X + 2, "activeworkbook.close(false)"
.InsertLines X + 3, "End Sub"
End With
Range("a1").Select
ActiveSheet.Buttons.Add(1, 15, 70, 15).Select
selection.OnAction = "Fermerfichier" |
merci!