[VBA] checkbox et groupe de controle

Résolu/Fermé
Signaler
Messages postés
3
Date d'inscription
dimanche 1 avril 2007
Statut
Membre
Dernière intervention
11 avril 2007
-
 Julien -
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

ç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
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 189
Bonjour,
C'est que t'a pas vu ce tuto
A+
Oui, oui, oui aux solutions simples.
Ca au moins j'ai compris!

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
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

Bonjour,

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

Lupin
Messages postés
3
Date d'inscription
dimanche 1 avril 2007
Statut
Membre
Dernière intervention
11 avril 2007

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.