vba créer les propriétés d'un commandbutton en automatique - VB/VBA/VBS - Programmation
Marsh Posté le 21-11-2005 à 10:26:26
Cette exemple pourrait être utilisé comme sommaire suivant les besoins
Marsh Posté le 21-11-2005 à 11:23:08
Je vois que tu as adopté la variable qui va varier...
Sinon pour ton problème je vois pas bien. Tu crées des Checkbox en plus des boutons si G bien compris. Tu peux pas créer un bouton qui ouvre la page (correspondant à la checkbox cochée). Sinon pour les boutons il faudrait ajouter du code VBA à chaque création, et je ne sais pas comment faire...
Marsh Posté le 21-11-2005 à 11:24:35
Quel est le nom (pas l'intitulé) de chacun des tes boutons ??
Marsh Posté le 22-11-2005 à 10:16:12
Si je veux donner le nom de la feuille à mon commandbutton
boutonj.name = Sheets((j + nombre) - Sheets.Count).Name
mais aucun intérêt pour moi.
Je veux utiliser la valeur de j
Private Sub boutonj_click()
'je voudrais pouvoir ouvrir la feuille qui correspond au bouton sélectionné
MsgBox ("test" )
End Sub
Marsh Posté le 18-11-2005 à 15:24:22
Bonjour,
Je voudrais pouvoir ouvrir la feuille qui correspond au bouton sélectionné
J'ai un classeur excel avec 3 feuilles "Feuil1","Feuil2""Feuil3".
je crée un Userform "UserForm1" avec un commonbutton "test"
sur la feuille "Feuil1" je créer un commandbutton "CommandButton1" pour appeler la macro
Voir le code ci-dessous
Private WithEvents bouton1 As MSForms.CommandButton
Private WithEvents Check1 As MSForms.CheckBox
Private WithEvents Text1 As MSForms.TextBox
Private Sub CommandButton1_Click()
Dim x As Integer
Dim nombre As Integer
'compte le nombre de feuille
nombre = Worksheets.Count
'Variable (qui va varier...)pour mettre en ordre les boutons les uns au dessus des autres
Dim BoutonTop
BoutonTop = 20
'Variable (qui va varier...)pour mettre en ordre les checkbox les uns au dessus des autres
Dim CheckTop
CheckTop = 20
For j = nombre To 1 Step -1
'pour créer plusieurs bouton en fonction du nombre de feuille
Set boutonj = userform1.Controls.Add("Forms.CommandButton.1", "Boutonj", True)
'pour créer les checkbox en fonction du nombre de feuille
Set Checkj = userform1.Controls.Add("Forms.CheckBox.1", "Checkj", True)
'Dimension du bouton
boutonj.Left = 40
'largeur
boutonj.Width = 200
boutonj.Height = 20
'position par rapport au haut du userform
boutonj.Top = BoutonTop
BoutonTop = BoutonTop + 25
'Dimension de la checkbox
Checkj.Left = 20
Checkj.Width = 10
Checkj.Height = 20
Checkj.Top = CheckTop
CheckTop = CheckTop + 25
'pour donnner le nom de la feuille à l'intitulé du commandbuton
boutonj.Caption = Sheets((j + nombre) - Sheets.Count).Name
'pour donnner le nom de la feuille à la l'intitulé de la checkbox
Checkj.Caption = Sheets((j + nombre) - Sheets.Count).Name
Next j
End Sub
Private Sub boutonj_click()
'je voudrais pouvoir ouvrir la feuille qui correspond au bouton sélectionné
MsgBox ("test" )
End Sub
Message édité par beberf1 le 22-11-2005 à 10:20:15