Bonjour,
Comme indiqué dans le titre, je cherche à réaliser une macro qui me permettrait de créer un bouton dans un autre classeur excel, à une place déterminée (vers la cellule B500) et de lui attribuer du code VBA (très simple, il s'agirait juste de UserForm1.Show, sachant que l'userform a déjà été exportée vers le fichier cible).
J'ai tenté le code suivant :
Mais le problème est qu'au niveau de "ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
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
19
20
21
22
23
24
25 Dim Classeur As Workbook Dim oOLE As OLEObject Dim X As Byte Dim Code$ 'On crée le code associé Code = "Sub CommandButton1_Click()" & vbCrLf Code = Code & "MsgBox ""Coucou XLD""" & vbCrLf Code = Code & "End Sub" Set Classeur = Workbooks("Echelles " & v & " " & m & " " & a) 'à adapter, ou workbooks.add si on crée le fichier With Classeur With .Worksheets("NOSTRI_" & v) X = .OLEObjects.Count Set oOLE = .OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=30.75, Top:=6423.75, Width:=132, Height:=48.75) End With With oOLE .Name = "CommandButton" & X + 1 .Object.Caption = "Echelles KO" End With With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule .InsertLines .CreateEventProc("Click", "Commandbutton" & X + 1) + 1, Code End With End With
.InsertLines .CreateEventProc("Click", "Commandbutton" & X + 1) + 1, Code" (vers les dernières lignes), Excel me dit que mon "subscript is out of range".
Or je ne vois pas ce qui pèche, puisque l'emplacement cible est indiqué (selon moi).
Pourriez vous m'indiquer ce qui pose problème?
Merci par avance de l'aide que vous pourriez m'apporter.
Partager