OVH Cloud OVH Cloud

Creation de bouton de commande

1 réponse
Avatar
Pierre Dumas
Bonjour tout le monde

Je voudrais creer un bouton de commande dans ma feuille
en colonne J de la ligne active.

Chaque fois que j'execute le code suivant Excel me
repond "Impossible d'entrer en mode arret maintenant". A
quoi est-ce du ?

Code en question :
ActiveSheet.OLEObjects.Add
(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=579, Top:=267.75,
Width:=78.75, Height _
:=33.75).Select


Question subsidiaire :
Comment faire pour placer le code en colonne J de la
ligne active sachant que les boutons fonctionnent en
distance par rapport au coin superieur gauche ? Ou
comment recuperer la distance en point de la celulle en
colonne J de ma ligne active ?

Merci beaucoup .

Pierre

1 réponse

Avatar
Denis Michon
Bonjour Pierre,

Essaie ceci :

Définit dans la procédure "InsérerBoutonDeCommande" , le nom que devrait prendre ton bouton.

Et dans la procédure : "InsérerLeCodeDuBouton..." , tu devras définir la procédure à exécuter. Je t'ai donné un petit
exemple comment procéder.

'-----------------------
Sub insererBoutonDeCommande()

'pour insérer le bouton à un
'endroit précis où se trouve une cellule.

Dim L As Double, T As Double, B As Object
Dim NomBouton As String
NomBouton = "OK" 'A déterminer

With ActiveSheet
L = .Range("J" & ActiveCell.Row).Left
T = .Range("J" & ActiveCell.Row).Top
With .OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
Link:úlse, DisplayAsIcon:úlse, Left:=L, _
Top:=T, Width:x.75, Height:3.75)
With .Object
.Caption = NomBouton
.Font.Name = "Arial"
.Font.Size = 14
.Font.Bold = True
End With
InsérerLeCodeDuBouton ActiveSheet.Name, .Name
End With
End With

End Sub

'-----------------------
Sub InsérerLeCodeDuBouton(NomFeuille As String, NomBouton As String)

Dim A As String
A = Worksheets(NomFeuille).CodeName

Code = " Private Sub " & NomBouton & "_Click()" & vbCrLf
Code = Code & " Msgbox ""Bonjour""" & vbCrLf
Code = Code & "End Sub"

Set B = ThisWorkbook.VBProject.VBComponents(A).CodeModule
With B
.AddFromString Code
End With
Set B = Nothing

End Sub
'-----------------------


Salutations!





"Pierre Dumas" a écrit dans le message de
news:0b8401c3a38b$4a1c5be0$
Bonjour tout le monde

Je voudrais creer un bouton de commande dans ma feuille
en colonne J de la ligne active.

Chaque fois que j'execute le code suivant Excel me
repond "Impossible d'entrer en mode arret maintenant". A
quoi est-ce du ?

Code en question :
ActiveSheet.OLEObjects.Add
(ClassType:="Forms.CommandButton.1", Link:úlse _
, DisplayAsIcon:úlse, Left:W9, Top:&7.75,
Width:x.75, Height _
:3.75).Select


Question subsidiaire :
Comment faire pour placer le code en colonne J de la
ligne active sachant que les boutons fonctionnent en
distance par rapport au coin superieur gauche ? Ou
comment recuperer la distance en point de la celulle en
colonne J de ma ligne active ?

Merci beaucoup .

Pierre