Positionner bouton de commande ( par vba) sur une feuille - VB/VBA/VBS - Programmation
Marsh Posté le 09-07-2007 à 08:12:48
BOnjour,
merci de cette réponse mais pourrais-tu être un peu plus précis stp??
Je suis pas un expert en programmation...
Merci d'avance
Bonne journée
Marsh Posté le 09-07-2007 à 13:14:10
Ton objet CommandButton a une propriété .Top qui définit la hauteur à laquelle est posé ton bouton.
Il suffit de lui donner une valeur plus forte pour abaisser le bouton à l'écran.
Marsh Posté le 09-07-2007 à 14:31:58
D'accord, je vois ce que tu veux dire
Mais comment améliorer mon code pour que chaque bouton créé ne vienne pas se positionner sur le précédent?
Marsh Posté le 09-07-2007 à 21:30:07
Je vois que dans ta ligne « Sheets("Menu" ).OLEObjects.Add(... », tu utilises cette syntaxe « Top:=Range("c20" ).Top »
Il suffirait de mettre une valeur plus grande pour les prochains boutons :
Range("c20" ).Top + 20
ou
Range("c20" ).Top + i (avec i qui varie éventuellement)
Marsh Posté le 06-07-2007 à 11:49:13
Bonjour,
J'ai créé une macro me permettant de copier une feuille existante sur une nouvelle feuille.
D'autre part, mon classeur dispose d'une feuille nommée Menu. Je voudrais qu'à chaque
fois que je crée une nouvelle feuille, un bouton de commande apparaisse dans la feuille Menu.
Le problème c'est que les boutons se superposent. Comment faire pourqu'ils apparaissent
les uns à la suite des autres sur ma feuille Menu?
Voilà mon code pour le moment:
Sub NouveauPrévisionnel()
Dim Nom As String
Dim Obj As New OLEObject
Nom = InputBox("Quel nom souhaitez vous donner à ce nouveau prévisionnel?" )
Sheets("Bilan fonctionnel vierge" ).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Nom
Sheets(Sheets.Count).Activate
Sheets("Menu" ).Activate
Sheets("Menu" ).OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=Range("c20" ).Left, Top:=Range("c20" ).Top, Width:=57.75, Height _
:=27.75).Select
Dim c As Shape
Dim b As CommandButton
Dim o As OLEObject
Set c = Sheets("Menu" ).Shapes("CommandButton1" )
c.OLEFormat.Object.Object.Caption = Nom
End Sub
Merci de votre aide !!