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

ListeBox & CheckBox propriétés associées

3 réponses
Avatar
ThierryGolo
Bonjour à tou(te)s
Je cherche à changer les propriétés (visible ou blocked) d'un checkBox en
fonction du choix effectuer sur une listBox
Je me suis pas au top en VB (je commence) alors je compte un peu sur
vous...
Merci de votre aide

ThierryGolo

3 réponses

Avatar
Hervé
Salut Thierry,
Un petit test, à mettre dans le module de ta Form :

Private Sub ListBox1_Click()
With CheckBox1
.Visible = True
.Enabled = True
Select Case ListBox1.List(ListBox1.ListIndex)
Case "élément2", "élément5", "élément9"
.Enabled = False
Case "élément1", "élément3"
.Visible = False
Case "élément7"
.Value = True
Case Else
.Value = False
End Select
End With
End Sub

Private Sub UserForm_Initialize()
Dim I As Integer
For I = 1 To 10
ListBox1.AddItem "élément" & I
Next I
End Sub

Hervé.

"ThierryGolo" a écrit dans le message news:

Bonjour à tou(te)s
Je cherche à changer les propriétés (visible ou blocked) d'un checkBox en
fonction du choix effectuer sur une listBox
Je me suis pas au top en VB (je commence) alors je compte un peu sur
vous...
Merci de votre aide

ThierryGolo




Avatar
ThierryGolo
Merci à toi pour ton aide
Si j'osais je te demanderais comment changer "élèment" par des noms tel que
Pierre Jacques etc.. etc...
Merci tout de même
"Hervé" a écrit dans le message de news:

Salut Thierry,
Un petit test, à mettre dans le module de ta Form :

Private Sub ListBox1_Click()
With CheckBox1
.Visible = True
.Enabled = True
Select Case ListBox1.List(ListBox1.ListIndex)
Case "élément2", "élément5", "élément9"
.Enabled = False
Case "élément1", "élément3"
.Visible = False
Case "élément7"
.Value = True
Case Else
.Value = False
End Select
End With
End Sub

Private Sub UserForm_Initialize()
Dim I As Integer
For I = 1 To 10
ListBox1.AddItem "élément" & I
Next I
End Sub

Hervé.

"ThierryGolo" a écrit dans le message
news:


Bonjour à tou(te)s
Je cherche à changer les propriétés (visible ou blocked) d'un checkBox
en


fonction du choix effectuer sur une listBox
Je me suis pas au top en VB (je commence) alors je compte un peu sur
vous...
Merci de votre aide

ThierryGolo








Avatar
Hervé
Salut Thierry,

Avec un tableau que tu rempli en dur dans le code :
Private Sub UserForm_Initialize()



Dim Tbl
Tbl = Array("Pierre", "Jacques", _
"Marc", "Thierry", _
"Didier", "Louis")
ListBox1.List() = Tbl
Erase Tbl
End Sub

Avec les noms en dur sur AddItem :
Private Sub UserForm_Initialize()



With ListBox1
.AddItem "Pierre"
.AddItem "Jacques"
.AddItem "Marc"
.AddItem "Thierry"
.AddItem "Didier"
.AddItem "Louis"
End With
End Sub

Avec une liste de nom se trouvant dan la colonne A (de A1 à Ax)
Private Sub UserForm_Initialize()



Dim Plage As Range
Dim I As Integer
Set Plage = Range([A1], _
[A65536].End(xlUp))
For I = 1 To Plage.Count
ListBox1.AddItem Plage(I)
Next I
Set Plage = Nothing
End Sub

Avec une plage fixe nommée ou non (en utiliser seulement une entre
toutes)



Private Sub UserForm_Initialize()
'si tes données sont
'verticales(dans ta feuille)
'et dans une plage fixe
ListBox1.RowSource = "A1:A10"
'si tes données sont
'horizontales(dans ta feuille)
'et dans une plage fixe
ListBox1.List = Application. _
WorksheetFunction.Transpose([A1:J10])
'plage nommée verticale
'(ou "plagecellules" seulement)
ListBox1.RowSource = "Feuil1!plagecellules"
'plage nommée horizontale
ListBox1.List = Application. _
WorksheetFunction. _
Transpose([plagecellules])
End Sub

Avec valeurs stockées dans un nom. (Insertion|Nom|Définir...) Pour le
test, colle la ligne ci-dessous dans le champ "Fait référence à :" en



supprimant se qui s'y trouve et nomme le nom MonNom dans le champ "Nom dans
le classeur :" tu ouvre ta form et tes noms se trouvent dans ta listbox :
={"Pierre"."Jacques"."Marc"."Thierry"."Didier"."Louis"}

Private Sub UserForm_Initialize()
Dim I As Integer
Dim Tbl
Tbl = [MonNom]
For I = 1 To UBound(Tbl)
ListBox1.AddItem Tbl(I)
Next I
Erase Tbl
End Sub

Avec des noms stockés dans un fichier texte, un sur chaque ligne. Adapte
le chemin et le nom du fichier :



Private Sub UserForm_Initialize()
Dim Ligne As String
Dim F As Integer
F = FreeFile
Open "D:Texte.txt" For Input As #F
Do While Not EOF(F)
Input #F, Ligne
ListBox1.AddItem Ligne
Loop
Close #F
End Sub

Je pense qu'avec ceci tu as déjà de quoi faire, si tu veux plus, revient.

Hervé.

"ThierryGolo" a écrit dans le message news:
uvl#
Merci à toi pour ton aide
Si j'osais je te demanderais comment changer "élèment" par des noms tel
que

Pierre Jacques etc.. etc...
Merci tout de même
"Hervé" a écrit dans le message de news:

Salut Thierry,
Un petit test, à mettre dans le module de ta Form :

Private Sub ListBox1_Click()
With CheckBox1
.Visible = True
.Enabled = True
Select Case ListBox1.List(ListBox1.ListIndex)
Case "élément2", "élément5", "élément9"
.Enabled = False
Case "élément1", "élément3"
.Visible = False
Case "élément7"
.Value = True
Case Else
.Value = False
End Select
End With
End Sub

Private Sub UserForm_Initialize()
Dim I As Integer
For I = 1 To 10
ListBox1.AddItem "élément" & I
Next I
End Sub

Hervé.

"ThierryGolo" a écrit dans le message
news:


Bonjour à tou(te)s
Je cherche à changer les propriétés (visible ou blocked) d'un checkBox
en


fonction du choix effectuer sur une listBox
Je me suis pas au top en VB (je commence) alors je compte un peu sur
vous...
Merci de votre aide

ThierryGolo