[VBA] checkbox et groupe de controle

Résolu/Fermé
Sgt MERLOT Messages postés 3 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 11 avril 2007 - 1 avril 2007 à 12:39
 Julien - 13 juil. 2012 à 21:02
Bonjour à tous,

je vais faire concis! J'ai appris à "programmer" sur VB et me suis mis par nécessité à VBA!
Je dois traiter une liste de joueurs en face desquels est placé une checkbox sur chaque ligne!

Mais contrairement à VB, j'ai vu qu'il n'était pas possible de faire un groupe de contrôle!
Aussi, comment puis-je faire pour parcourir ses checkboxes avec une boucle, comme je pourrais le faire sous Vb avec un groupe de contrôle!

j'ai bien écrit un truc du genre :
for i=1 to 10
"checkbox"&i.value=true
next i

Mais, il ne me prend pas ' "checkbox"&1 '!

Je vous remercie d'avance pour votre aide PRECIEUSE!

A+

5 réponses

as tu essayé ?

Me.Controls("CheckBox" & i ).value = true

à la place de

"checkBox"&i.value
5
ça c'est du génie !
Après avoir vu les centaines de lignes proposées ici et là sur ce sujet, je suis béat d'admiration devant cette simplicité et cette efficacité
Félicitations
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 janv. 2011 à 12:44
Bonjour,
C'est que t'a pas vu ce tuto
A+
0
Oui, oui, oui aux solutions simples.
Ca au moins j'ai compris!
0
Un chef !
0
Utilisateur anonyme
11 avril 2007 à 19:09
re:

voici l'exemple tiré de mon application.

J'ai retiré quelques lignes, mais ça devrait déjà vous
donner un point de départ :

' Le module de classe
'--------------------------------------------------------------------------------
' Écrit par Lupin
'--------------------------------------------------------------------------------
' Oblige la déclarations de toutes les variables
Option Explicit

' Déclaration d'un évènement dynamique sur la collection
Public WithEvents ElementSelectLBL As MSForms.Label
'

Private Sub ElementSelectLBL_Click()             ' -> Méthode
    Call uf_Aide_En_Ligne.AideEnLigneInfo(Val(ElementSelectLBL.Tag))
End Sub
'
'*********************************************************************************
' L'initialisation du formulaire (userform)
Private Sub UserForm_Initialize()
    
    Dim Controle As Control
    Dim i, j, k, l, m, Boucle As Integer
    Dim Message, Indice As String
    Dim Ptr As Integer

    ' Remarque : tous les noms des label du formulaire
    ' ("uf_Liste_Cles") commencent par un "lbl_"

    m = 0
    For Each Controle In uf_Liste_Cles.Controls
        'detecte si les premières lettres du nom du contrôle sont "lbl_"
        If Left(Controle.Name, 4) = "lbl_" Then
            If (Val(Mid(Controle.Name, 5, 2)) <> 0) Then
                ReDim Preserve objLabel(0 To m)
                Set objLabel(m).ElementSelectLBL = Controle
                'Capture de ses propriétés
                objLabel(m).Tag = Controle.Tag
                objLabel(m).Indice = m
                objLabel(m).Name = Controle.Name
                objLabel(m).Value = Me.Controls.Item("lbl_" & Mid(Controle.Name, 5, 2)).Value
                objLabel(m).Caption = Controle.Caption
                objLabel(m).Association = Me.Controls.Item("lbl_" & Mid(Controle.Name, 5, 2)).Caption
                m = m + 1
            End If
        End If
    Next Controle
    
End Sub
'


Lupin
3
salut,

Désolé, je ne vais pas t'apporter la solution à ton problème car j'ai exactement le même problème.
Cela fait plusieurs jours que je fouille internet pour trouver une solution et je ne trouve rien.

As-tu trouvé quelque chose ?

Si oui, peux-tu me communiquer la solution ?

D'avance merci,

Ben
0
Utilisateur anonyme
11 avril 2007 à 18:55
Bonjour,

pour contourner ce problème, j'ai utilisé les modules de classe
sous VBA pour créer des groupes d'objets.

Lupin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sgt MERLOT Messages postés 3 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 11 avril 2007
11 avril 2007 à 21:32
Je m'en vais essayer cela de suite après avoir analysé un peu le code!!!

Je n'ai pas encore le niveau...

A+ et merci encore.
0