Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme checkbox dans boucle

4 réponses
Avatar
checkbox probleme boucle
Bonjour,
Dans un useform j'utilise des checkbox et quand je veux les verifier avec un
if dans une boucle ca ne marche pas ??
ex: code qui fonctionne
If CheckBox1.value = true Then
Cells(ligne, 3 + i).Value = "X"
Else
Cells(ligne, 3 + i).Value = ""
End If
mais dans ma boucle il ne veut pas compilé

Dim i As Integer
For i = 1 To 26
If CheckBox & i.value = true Then
Cells(ligne, 3 + i).Value = "X"
Else
Cells(ligne, 3 + i).Value = ""
End If

Next i
merci

4 réponses

Avatar
Alain CROS
Bonjour.

En vba, les groupes de contrôles n'existent pas.

Private Sub CommandButton1_Click()
Dim Chk As Control
For Each Chk In Me.Controls
If TypeName(Chk) = "CheckBox" Then
If Chk.Object.Value = True Then MsgBox Chk.Name
End If
Next Chk
Set Chk = Nothing
End Sub

Alain CROS

"checkbox probleme boucle" a écrit dans le message de news:

Bonjour,
Dans un useform j'utilise des checkbox et quand je veux les verifier avec un
if dans une boucle ca ne marche pas ??
ex: code qui fonctionne
If CheckBox1.value = true Then
Cells(ligne, 3 + i).Value = "X"
Else
Cells(ligne, 3 + i).Value = ""
End If
mais dans ma boucle il ne veut pas compilé

Dim i As Integer
For i = 1 To 26
If CheckBox & i.value = true Then
Cells(ligne, 3 + i).Value = "X"
Else
Cells(ligne, 3 + i).Value = ""
End If

Next i
merci


Avatar
checkbox probleme boucle
ok mais ayant plusieur checkbox et ne voulant qu'en vérifier un certain
nombre, avec ta technique pascal je ne je ne control pas ma boucle non?
Avatar
Pascal B.
Salut

Tu dois creer un GROUPE de controle CheckBox
c-a-d une serie de CheckBox qui ont le MEME NOM (ex: MesCheckBox) mais ayant chacun un INDEX DIFFERENT (ex: de 1 à 26) !

Pour cela, tu crées un CheckBox (avec Name = "MesCheckBox").
Tu copies le controle (Ctrl+C) puis tu le colle (Ctrl+V).
Un message apparait "Voulez-vous créer un tableau de controle ?",
Répondre Oui.
Répete le collage pour avoir tes 26 CheckBox
Attention le premier CheckBox du groupe à l'Index = 0 !

Maintenant tu peux écrire:

Sub MesCheckBox_Click(Index as Integer)
if MesCheckBox(Index) = 1 then
Cells(ligne,4 + Index).Value = "X"
else
Cells(ligne,4 + Index).Value = ""
end if
End Sub

Remarque que dans l'évenement Click, il y a un parametre supplémentaire (Index) qui désigne le CheckBox cliqué !

Comprends-tu mieux ce qu'est un groupe de controle ?

Cordialement
Pascal B.



"checkbox probleme boucle" wrote in message
news:
| Bonjour,
| Dans un useform j'utilise des checkbox et quand je veux les verifier avec un
| if dans une boucle ca ne marche pas ??
| ex: code qui fonctionne
| If CheckBox1.value = true Then
| Cells(ligne, 3 + i).Value = "X"
| Else
| Cells(ligne, 3 + i).Value = ""
| End If
| mais dans ma boucle il ne veut pas compilé
|
| Dim i As Integer
| For i = 1 To 26
| If CheckBox & i.value = true Then
| Cells(ligne, 3 + i).Value = "X"
| Else
| Cells(ligne, 3 + i).Value = ""
| End If
|
| Next i
| merci
Avatar
Pascal B.
PS:

Si tu veux faire le teste lors du click d'un bouton Ok:

Sub CmdOk_Click()
Dim i as Integer
For i = 0 to MesCheckBox.Count - 1
if MesCheckBox(i) = 1 then
Cells(ligne,4 + i).Value = "X"
else
Cells(ligne,4 + i).Value = ""
end if
End Sub

Pascal B.


"Pascal B." wrote in message news:%
| Salut
|
| Tu dois creer un GROUPE de controle CheckBox
| c-a-d une serie de CheckBox qui ont le MEME NOM (ex: MesCheckBox) mais ayant chacun un INDEX DIFFERENT (ex: de 1 à 26) !
|
| Pour cela, tu crées un CheckBox (avec Name = "MesCheckBox").
| Tu copies le controle (Ctrl+C) puis tu le colle (Ctrl+V).
| Un message apparait "Voulez-vous créer un tableau de controle ?",
| Répondre Oui.
| Répete le collage pour avoir tes 26 CheckBox
| Attention le premier CheckBox du groupe à l'Index = 0 !
|
| Maintenant tu peux écrire:
|
| Sub MesCheckBox_Click(Index as Integer)
| if MesCheckBox(Index) = 1 then
| Cells(ligne,4 + Index).Value = "X"
| else
| Cells(ligne,4 + Index).Value = ""
| end if
| End Sub
|
| Remarque que dans l'évenement Click, il y a un parametre supplémentaire (Index) qui désigne le CheckBox cliqué !
|
| Comprends-tu mieux ce qu'est un groupe de controle ?
|
| Cordialement
| Pascal B.
|
|
|
| "checkbox probleme boucle" wrote in message
| news:
| | Bonjour,
| | Dans un useform j'utilise des checkbox et quand je veux les verifier avec un
| | if dans une boucle ca ne marche pas ??
| | ex: code qui fonctionne
| | If CheckBox1.value = true Then
| | Cells(ligne, 3 + i).Value = "X"
| | Else
| | Cells(ligne, 3 + i).Value = ""
| | End If
| | mais dans ma boucle il ne veut pas compilé
| |
| | Dim i As Integer
| | For i = 1 To 26
| | If CheckBox & i.value = true Then
| | Cells(ligne, 3 + i).Value = "X"
| | Else
| | Cells(ligne, 3 + i).Value = ""
| | End If
| |
| | Next i
| | merci
|
|