Airone784
XLDnaute Occasionnel
Bonjour à tous,
j'utilise ce code pour créer dynamiquement des checkbox dans une UF.
Seulement je souhaite mettre au maximum 5 checkbox par colonne. Le code ci-dessus gère bien la notion de positionnement vertical:
mais pas le positionnement horizontal :
j'ai beau faire des essais avec un système de boucle du genre :
for v = 1 to 5
.left=40
for v = 6 to 10
.left=80
...
Seul problème dans ce cas il faut que je définisse que v est mon nombre de checkbox que je vais intégrer.
Bref, je nage.
Merci de l'aide
Bye
j'utilise ce code pour créer dynamiquement des checkbox dans une UF.
Code:
'--------------------------------------
'Procédure de création des CheckBoxs à placer dans l'UserForm.
'L'UserForm doit préalablement contenir un bouton nommé CommandButton1
Option Explicit
Private Sub CommandButton1_Click()
Dim Obj As Control
Dim Cl As Classe1
Dim i As Integer
Set Collect = New Collection
For i = 1 To 30 'boucle pour la création des CheckBox
Set Obj = Me.Controls.Add("forms.Checkbox.1")
With Obj
.Name = "moncheckbox" & i
.Object.Caption = "le texte" & i
.Left = 140
.Top = 30 * i + 10
.Width = 50
.Height = 20
End With
'ajout de l'objet dans la classe
Set Cl = New Classe1
Set Cl.ChkBx = Obj
Collect.Add Cl
Next i
End Sub
'--------------------------------------
'--------------------------------------
'A placer dans un module de classe nommé "Classe1"
'
Option Explicit
Public WithEvents ChkBx As MSForms.CheckBox
'Exemple pour gérer l'évènement clic sur les objets type CheckBox
Private Sub ChkBx_Click()
'cet exemple affiche le nom et la valeur de l'objet cliqué
MsgBox ChkBx.Name & ": " & ChkBx.Value
End Sub
'--------------------------------------
'--------------------------------------
'A placer dans un module standard
Option Explicit
Public Collect As Collection
'--------------------------------------
Seulement je souhaite mettre au maximum 5 checkbox par colonne. Le code ci-dessus gère bien la notion de positionnement vertical:
Code:
.Top = 30 * i + 10
mais pas le positionnement horizontal :
Code:
.Left = 140
j'ai beau faire des essais avec un système de boucle du genre :
for v = 1 to 5
.left=40
for v = 6 to 10
.left=80
...
Seul problème dans ce cas il faut que je définisse que v est mon nombre de checkbox que je vais intégrer.
Bref, je nage.
Merci de l'aide
Bye