Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Positionnement checkbox dans UF

Airone784

XLDnaute Occasionnel
Bonjour à tous,

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
 

jpb388

XLDnaute Accro
Re : Positionnement checkbox dans UF

bonjour
pas testé mais avec un sélect case cela devrait fonctionner
a+
 

Airone784

XLDnaute Occasionnel
Re : Positionnement checkbox dans UF

Ca fonctionne mais il faut définir les différentes valeur de i donc j'ai mis :

Code:
select case i
case 1 to 5
.left=40
case 6 to 10
.left = 100
end select

...ETC

Merci jpb388

Ciao
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…