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

checkbox probleme boucle

8 réponses
Avatar
checkbox probleme boucle
bonjour et merci d'avance,
dans vba sous excel2000 j'ai un ensemble de chek box et je voudrai tout
simplement regarder laquelle est vrai et si vrai ecrire un "X" à la cellule
souhaité seulement.....actuellement ca met "X" a toutes les cases de ma
boucle...
code :
Private Sub valider_Click()
Dim i As Integer
For i = 1 To 26
If (CheckBox & i = True) Then si .Value derriere i ca ne
compile pas
Cells(ligne, 3 + i).Value = "X"
Else
Cells(ligne, 3 + i).Value = ""
End If
Next i
Unload Observations
Load selection
selection.Show
End Sub

8 réponses

Avatar
LE TROLL
Salut,

Et si:

If Check1(1).Value = 1

CheckBox est à 3 états (voir Value dans la boîte de
propriétés)

Ça marche pas mieux ???
----------

"checkbox probleme boucle" <checkbox probleme
a écrit dans le message de
news:
bonjour et merci d'avance,
dans vba sous excel2000 j'ai un ensemble de chek box et
je voudrai tout
simplement regarder laquelle est vrai et si vrai ecrire un
"X" à la cellule
souhaité seulement.....actuellement ca met "X" a toutes
les cases de ma
boucle...
code :
Private Sub valider_Click()
Dim i As Integer
For i = 1 To 26
If (CheckBox & i = True) Then si .Value
derriere i ca ne
compile pas
Cells(ligne, 3 + i).Value = "X"
Else
Cells(ligne, 3 + i).Value = ""
End If
Next i
Unload Observations
Load selection
selection.Show
End Sub



Avatar
checkbox probleme boucle
en fait c dans une boucle et apparement il prend pas en compte mon if et mon &i

"LE TROLL" wrote:

Salut,

Et si:

If Check1(1).Value = 1

CheckBox est à 3 états (voir Value dans la boîte de
propriétés)

Ça marche pas mieux ???
----------

"checkbox probleme boucle" <checkbox probleme
a écrit dans le message de
news:
> bonjour et merci d'avance,
> dans vba sous excel2000 j'ai un ensemble de chek box et
> je voudrai tout
> simplement regarder laquelle est vrai et si vrai ecrire un
> "X" à la cellule
> souhaité seulement.....actuellement ca met "X" a toutes
> les cases de ma
> boucle...
> code :
> Private Sub valider_Click()
> Dim i As Integer
> For i = 1 To 26
> If (CheckBox & i = True) Then si .Value
> derriere i ca ne
> compile pas
> Cells(ligne, 3 + i).Value = "X"
> Else
> Cells(ligne, 3 + i).Value = ""
> End If
> Next i
> Unload Observations
> Load selection
> selection.Show
> End Sub
>





Avatar
scraper
Bonjour checkbox probleme boucle, dans le message
news:
tu disais :


en fait c dans une boucle et apparement il prend pas en compte mon if
et mon &i



crée un groupe de contrôles pour tes checkbox
et ensuite, essaie un truc du genre :

For i = 1 To 26
If CheckBox(i).Value Then ' traiteemnt
Next



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
Driss HANIB
oui c'est mieux

Driss
"scraper" a écrit dans le message de
news:
Bonjour checkbox probleme boucle, dans le message
news:
tu disais :


> en fait c dans une boucle et apparement il prend pas en compte mon if
> et mon &i

crée un groupe de contrôles pour tes checkbox
et ensuite, essaie un truc du genre :

For i = 1 To 26
If CheckBox(i).Value Then ' traiteemnt
Next



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper



Avatar
Driss HANIB
ou si tu ne peux pas créer d'index
dans l'évènement

CheckBox1_click tu peux mettre un truc de la forme
'---------------------------
Dim Indice As Long
Indice = CLng(Right$(CheckBox1.Name, Len(CheckBox1.Name) -
Len("checkbox"))) ' on récupère l'indice du checkbox
if chekbox1.value = true
Cells(ligne, 3 + indice).Value = "X"
Else
Cells(ligne, 3 + indice).Value = ""
End If
'------------------------
mais cela t'oblige à écrire ces quelques ligne en modifiant l'indice du
chekbox : checkbox1 -> checkbox2 ici

il n'est pas besoin de remettre à jour tous les checkbox à chaque clic sur
un checkbox

Driss

"scraper" a écrit dans le message de
news:
Bonjour checkbox probleme boucle, dans le message
news:
tu disais :


> en fait c dans une boucle et apparement il prend pas en compte mon if
> et mon &i

crée un groupe de contrôles pour tes checkbox
et ensuite, essaie un truc du genre :

For i = 1 To 26
If CheckBox(i).Value Then ' traiteemnt
Next



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper



Avatar
LE TROLL
Oui, bis, j'ai pas précisé, c'est dans l'évènement click du
CheckBox qu'il faut tester ta boucle (index de
l'évènement)...

Et évidemment, lol, je n'ai pas précisé non plus, mais si je
mets:
CheckBox1(index).value = 1
C'est évidemment qu'il faut les indicer :o)
------------------

"checkbox probleme boucle" <checkbox probleme
a écrit dans le message de
news:
bonjour et merci d'avance,
dans vba sous excel2000 j'ai un ensemble de chek box et
je voudrai tout
simplement regarder laquelle est vrai et si vrai ecrire un
"X" à la cellule
souhaité seulement.....actuellement ca met "X" a toutes
les cases de ma
boucle...
code :
Private Sub valider_Click()
Dim i As Integer
For i = 1 To 26
If (CheckBox & i = True) Then si .Value
derriere i ca ne
compile pas
Cells(ligne, 3 + i).Value = "X"
Else
Cells(ligne, 3 + i).Value = ""
End If
Next i
Unload Observations
Load selection
selection.Show
End Sub



Avatar
checkbox probleme boucle
Dans mon use form c'est un bouton ok qui va faire mes verification et avec
(i) ca ne marche pas
For i = 1 To 26
If CheckBox(i).Value = 1 Then
Cells(ligne, 3 + i).Value = "X"
Else
Cells(ligne, 3 + i).Value = ""
End If

Next i
Avatar
Driss HANIB
Voilà UNE solution à ton problème

Private Sub CommandButton1_Click()
Dim chaine As String
Dim Cont As CheckBox
Dim Indice As Long
chaine = "000"
Dim I As Long
Const NomChk = "CheckBox" ' tu crèes ici une constante qui contiendra le
nom 'générique' de tes controles sans le numéro final
For I = 0 To UserForm1.Controls.Count - 1

If Left$(UserForm1.Controls(I).Name, Len(NomChk)) = NomChk Then
' on va tester tous les controles de ta feuille pour voir si un des
checkbox cherchés
Indice = CLng(Right$(UserForm1.Controls(I).Name,
Len(UserForm1.Controls(I).Name) - Len(NomChk)))
' on transforme ce qu'on veut
If UserForm1.Controls(I).Value Then
' mise à jour de la cellule
Cells(ligne, 3 + indice).Value = "X"

Else
Cells(ligne, 3 + indice).Value = ""

End If
End If
Next
TextBox1.Text = chaine
End Sub

HTH

Driss


"checkbox probleme boucle"
a écrit dans le message
de news:
Dans mon use form c'est un bouton ok qui va faire mes verification et avec
(i) ca ne marche pas
For i = 1 To 26
If CheckBox(i).Value = 1 Then
Cells(ligne, 3 + i).Value = "X"
Else
Cells(ligne, 3 + i).Value = ""
End If

Next i