OVH Cloud OVH Cloud

nouvelle feuillet + bouton

5 réponses
Avatar
jmc
Bonjour,

A l'aide d'une macro, une nouvelle fuille est créée. Sur cette nouvelle
feuille, je soufaite mettre un bouton qui lance une macro.
Savez vous créer un bouton dynamiquement ?

d'avance merci

5 réponses

Avatar
EricDu
Bonjour

Voila pour un code pour créer une forme automatique
rectangle(que tu peux également mettre en forme pour que
cela ressemble à un bouton) et lui affecter une macro
(OnAction)- 10,10,60,20 correspond successivement au
placement à gauche du bouton, au placement en hauteur du
bouton, à sa longueur, a sa hauteur.

Sub Test()
Set LeBouton = ActiveSheet.Shapes.AddShape
(msoShapeRectangle, 10, 10, 60, 20)
LeBouton.OnAction = "PERSO.XLS!CouCouTest"
End Sub

Bon courage

Eric



-----Message d'origine-----
Bonjour,

A l'aide d'une macro, une nouvelle fuille est créée. Sur
cette nouvelle

feuille, je soufaite mettre un bouton qui lance une macro.
Savez vous créer un bouton dynamiquement ?

d'avance merci


.



Avatar
Hervé
Salut Jean Marc,
Teste si cela te convient :

Sub FeuilleEtBouton()
Dim Fe As Worksheet
Dim Ctrl As OLEObject
Dim Btn As MSForms.CommandButton
Dim Code As String

Application.ScreenUpdating = False

Set Fe = Worksheets.Add
With Fe
.Name = "Ma Feuille"
Set Ctrl = .OLEObjects.Add( _
ClassType:="Forms.CommandButton.1", _
Link:úlse _
, DisplayAsIcon:úlse, _
Left:=6, _
Top:E, _
Width:8, _
Height:!)
Set Btn = Ctrl.Object
With Btn
.Name = "MonBouton"
.Caption = "Bouton pour jmc"
End With

Code = "Private Sub MonBouton_Click()" & vbCrLf
Code = Code & " msgbox ""Salut jmc ;o)""" & vbCrLf
Code = Code & "End Sub" & vbCrLf

With ThisWorkbook.VBProject.VBComponents _
(Fe.CodeName).CodeModule
.InsertLines .CountOfLines + 1, Code
End With

End With

Application.ScreenUpdating = True

Set Fe = Nothing
Set Ctrl = Nothing
Set Btn = Nothing
End Sub

Hervé.

"jmc" a écrit dans le message news:
bg5tg1$co6$
Bonjour,

A l'aide d'une macro, une nouvelle fuille est créée. Sur cette nouvelle
feuille, je soufaite mettre un bouton qui lance une macro.
Savez vous créer un bouton dynamiquement ?

d'avance merci




Avatar
lira
'ajoute une feuille au classeur en cours
Sheets.Add
'ajoute un bouton
ActiveSheet.Buttons.Add(79.5, 79.5, 85.5, 24).Select
'ajoute la macro au bouton
Selection.OnAction = "Macro1"


-----Message d'origine-----
Bonjour,

A l'aide d'une macro, une nouvelle fuille est créée. Sur
cette nouvelle

feuille, je soufaite mettre un bouton qui lance une macro.
Savez vous créer un bouton dynamiquement ?

d'avance merci


.



Avatar
jmc
Merci pour vos réponses.

Je vais les tester dans l'après midi



"lira" a écrit dans le message news:
01c601c355ec$ee887930$

'ajoute une feuille au classeur en cours
Sheets.Add
'ajoute un bouton
ActiveSheet.Buttons.Add(79.5, 79.5, 85.5, 24).Select
'ajoute la macro au bouton
Selection.OnAction = "Macro1"


-----Message d'origine-----
Bonjour,

A l'aide d'une macro, une nouvelle fuille est créée. Sur
cette nouvelle

feuille, je soufaite mettre un bouton qui lance une macro.
Savez vous créer un bouton dynamiquement ?

d'avance merci


.



Avatar
jmc
Je viens de tester le code de Lira et cela fonctionne parfaitement (en plus
je le comprend facilement)

Merci donc à vous tous

"lira" a écrit dans le message news:
01c601c355ec$ee887930$

'ajoute une feuille au classeur en cours
Sheets.Add
'ajoute un bouton
ActiveSheet.Buttons.Add(79.5, 79.5, 85.5, 24).Select
'ajoute la macro au bouton
Selection.OnAction = "Macro1"


-----Message d'origine-----
Bonjour,

A l'aide d'une macro, une nouvelle fuille est créée. Sur
cette nouvelle

feuille, je soufaite mettre un bouton qui lance une macro.
Savez vous créer un bouton dynamiquement ?

d'avance merci


.