OVH Cloud OVH Cloud

création d'un bouton a la volée

3 réponses
Avatar
rozec
salut
je voudrais créé un bouton sur une feuille et sa macro à l'aide d'une
autre macro sous exel 97
j'ai fouiller sur le forum mais je n'y arrive et en general c'est
toujours la creation d'un userform à la volee
le bouton pas p, mais je n'arrive pas a lui inserer du code
merci de votre aide

3 réponses

Avatar
Alain CROS
Bonjour

Sub Ajout()
Dim I&, LeFile$
LeFile = CurDir & Application.PathSeparator & _
"Fich.bas"
I = FreeFile
Open LeFile For Output As #I
Print #I, "Sub Test"
Print #I, "MsgBox ""Bonjour"""
Print #I, "End Sub"
Close #I
With ThisWorkbook.Modules.Add
.InsertFile LeFile
End With
Kill LeFile
With ActiveSheet
With [B2]
.Parent.Shapes.AddFormControl _
xlButtonControl, _
.Left, .Top, .Width * 2&, .Height * 2&
End With
.Shapes(.Shapes.Count).OnAction = "Test"
End With
End Sub

Alain CROS

-----Original Message-----
salut
je voudrais créé un bouton sur une feuille et sa macro à
l'aide d'une

autre macro sous exel 97
j'ai fouiller sur le forum mais je n'y arrive et en
general c'est

toujours la creation d'un userform à la volee
le bouton pas p, mais je n'arrive pas a lui inserer du
code

merci de votre aide
.



Avatar
Michel Pierron
Bonsoir toto;

Sub BoutonFormulaire()
On Error Resume Next
Application.ScreenUpdating = False
ActiveSheet.Buttons("Btn1").Delete
ActiveSheet.Buttons.Add(65.25, 30, 66.25, 24.75).Name = "Btn1"
ActiveSheet.Buttons("Btn1").OnAction = "Test"
With ThisWorkbook.VBProject
.VBComponents.Remove .VBComponents("BtnModule")
.VBComponents.Add(1).Name = "BtnModule"
With .VBComponents("BtnModule").CodeModule
.InsertLines 1, "Sub Test()" & Chr(13) & _
"Msgbox ""Hello !"", 64" & Chr(13) & "End Sub"
End With
End With
Application.Visible = True
End Sub

MP

"toto" a écrit dans le message de
news:
salut
je voudrais créé un bouton sur une feuille et sa macro à l'aide d'une
autre macro sous exel 97
j'ai fouiller sur le forum mais je n'y arrive et en general c'est
toujours la creation d'un userform à la volee
le bouton pas p, mais je n'arrive pas a lui inserer du code
merci de votre aide


Avatar
Michel Pierron
Re toto;

Sub OleButton()
On Error Resume Next
Dim Sh As Worksheet, oOLE As OLEObject
Application.ScreenUpdating = False
Set Sh = ActiveSheet
Sh.OLEObjects("NewBtn").Delete
Dim Line1%, nbLines%
With ThisWorkbook.VBProject.VBComponents(Sh.CodeName).CodeModule
Line1 = .ProcStartLine("NewBtn_Click", 0)
nbLines = .ProcCountLines("NewBtn_Click", 0)
.DeleteLines Line1, nbLines
End With
Set oOLE = Sh.OLEObjects.Add(ClassType:="Forms" _
& ".CommandButton.1", Left:0, Top:0, Width:€, Height:2)
With oOLE
.Object.Caption = "Run"
.Name = "NewBtn"
End With
With ThisWorkbook.VBProject.VBComponents(Sh.CodeName).CodeModule
.InsertLines .CreateEventProc("Click", oOLE.Name) + 1 _
, "Msgbox ""Hello !"", 64"
End With
Application.Visible = True
End Sub

MP

"toto" a écrit dans le message de
news:
salut
je voudrais créé un bouton sur une feuille et sa macro à l'aide d'une
autre macro sous exel 97
j'ai fouiller sur le forum mais je n'y arrive et en general c'est
toujours la creation d'un userform à la volee
le bouton pas p, mais je n'arrive pas a lui inserer du code
merci de votre aide