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.
merci!
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
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"





Répondre avec citation
Partager