? recuperer les valeurs de CheckBox par une boucle
1 réponse
chris
Bonjour à tous,
1 userform contient 20 checkbox. : CheckBox1; CheckBox2 etc.)
Est-il possible de recuperer directement par une boucle toutes les valeurs
grace à un indice
quelque chose comme .....
For n = 0 to 19
varCheckBox(n)= UserForm1.CheckBox(n)
Next n
en fait l'équivalent qui marche de : var CheckBox(n) =
Val("CheckBox" & n)
Merci d'avance
--
Ne pas utiliser la fonction: "Répondre à l'expéditeur"
L'adresse a été volontairement modifiée (spam)
écrire à: cchris.col@free.fr avec un seul 'c' au début
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
lSteph
Bonsoir, voici un exemple avec deux trois checkbox et un commandbutton selon ce que j'ai compris , dans le code du userform:
'''**** Dim mChB As New Collection, i As Byte, ctl As Control Private Sub CommandButton1_Click() call test End Sub Private Sub UserForm_Initialize() Do While mChB.Count > 0 mChB.Remove 1 Loop For Each ctl In Me.Controls If TypeName(ctl) = "CheckBox" Then i = i + 1 mChB.Add ctl, CStr(i) End If Next End Sub Sub test() Dim mess As String For i = 1 To mChB.Count mess = mess & mChB(i) & vbCrLf Next MsgBox mess End Sub '''**** 'lSteph "chris" a écrit dans le message de news: 4405f296$0$21117$
Bonjour à tous,
1 userform contient 20 checkbox. : CheckBox1; CheckBox2 etc.) Est-il possible de recuperer directement par une boucle toutes les valeurs grace à un indice
quelque chose comme .....
For n = 0 to 19 varCheckBox(n)= UserForm1.CheckBox(n) Next n
en fait l'équivalent qui marche de : var CheckBox(n) = Val("CheckBox" & n)
Merci d'avance
-- Ne pas utiliser la fonction: "Répondre à l'expéditeur" L'adresse a été volontairement modifiée (spam) écrire à: avec un seul 'c' au début
Bonsoir,
voici un exemple avec deux trois checkbox et un commandbutton
selon ce que j'ai compris , dans le code du userform:
'''****
Dim mChB As New Collection, i As Byte, ctl As Control
Private Sub CommandButton1_Click()
call test
End Sub
Private Sub UserForm_Initialize()
Do While mChB.Count > 0
mChB.Remove 1
Loop
For Each ctl In Me.Controls
If TypeName(ctl) = "CheckBox" Then
i = i + 1
mChB.Add ctl, CStr(i)
End If
Next
End Sub
Sub test()
Dim mess As String
For i = 1 To mChB.Count
mess = mess & mChB(i) & vbCrLf
Next
MsgBox mess
End Sub
'''****
'lSteph
"chris" <cchris.col@free.fr> a écrit dans le message de news:
4405f296$0$21117$626a54ce@news.free.fr...
Bonjour à tous,
1 userform contient 20 checkbox. : CheckBox1; CheckBox2 etc.)
Est-il possible de recuperer directement par une boucle toutes les valeurs
grace à un indice
quelque chose comme .....
For n = 0 to 19
varCheckBox(n)= UserForm1.CheckBox(n)
Next n
en fait l'équivalent qui marche de : var CheckBox(n) =
Val("CheckBox" & n)
Merci d'avance
--
Ne pas utiliser la fonction: "Répondre à l'expéditeur"
L'adresse a été volontairement modifiée (spam)
écrire à: cchris.col@free.fr avec un seul 'c' au début
Bonsoir, voici un exemple avec deux trois checkbox et un commandbutton selon ce que j'ai compris , dans le code du userform:
'''**** Dim mChB As New Collection, i As Byte, ctl As Control Private Sub CommandButton1_Click() call test End Sub Private Sub UserForm_Initialize() Do While mChB.Count > 0 mChB.Remove 1 Loop For Each ctl In Me.Controls If TypeName(ctl) = "CheckBox" Then i = i + 1 mChB.Add ctl, CStr(i) End If Next End Sub Sub test() Dim mess As String For i = 1 To mChB.Count mess = mess & mChB(i) & vbCrLf Next MsgBox mess End Sub '''**** 'lSteph "chris" a écrit dans le message de news: 4405f296$0$21117$
Bonjour à tous,
1 userform contient 20 checkbox. : CheckBox1; CheckBox2 etc.) Est-il possible de recuperer directement par une boucle toutes les valeurs grace à un indice
quelque chose comme .....
For n = 0 to 19 varCheckBox(n)= UserForm1.CheckBox(n) Next n
en fait l'équivalent qui marche de : var CheckBox(n) = Val("CheckBox" & n)
Merci d'avance
-- Ne pas utiliser la fonction: "Répondre à l'expéditeur" L'adresse a été volontairement modifiée (spam) écrire à: avec un seul 'c' au début