Sélection possible d'une seule ligne dans un LISBOX? [Résolu]

Signaler
Messages postés
278
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
13 avril 2013
-
chaibat05
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Bonjour à tous,

Je cherche à réaliser une fonction mais je n'ai pas trouvé la solution sur le forum.
Admettons que j'ai une Lisbox contenant 5 éléments, j'aimerai pouvoir avec ma souris sélectionner un seul élément sur les 5 (le premier par exemple). Dans l'idée de la propriété Enabled des autres contrôles VB mais appliquée sur les lignes VB !
Je pourrais avec AddItem renseigner la ListBox qu'avec les items souahités, mais j'aimerais faire apparaître la totalité (les 5).

Est-ce possible???
Merci par avance !
Phil

11 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
20
Ah... je vois ...

Alors :
Que fait ceci ?

Const selectionnable = 2  '===== ici celui dont tu permets la selection

Private Sub Form_Load()
  For i = 0 To 10
    List1.AddItem i & "a"
  Next
End Sub


Private Sub List1_Click()
 If List1.ListIndex <> selectionnable Then
   List1.ListIndex = -1
 End If
End Sub
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
92
Rien compris !

Pour ne sélectionner qu'une seule ligne à la fois, il te suffit de mettre la propriété MultiSelect à False, est-ce que c'est cà que tu cherche à faire ???
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
20
que fais ceci ?

Private Sub Form_Load()
  For i = 0 To 10
     List1.AddItem i
  Next
End Sub


Private Sub Command1_Click()
   MsgBox List1.ListIndex
End Sub




Private Sub List1_Click()
  MsgBox List1
End Sub
Messages postés
278
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
13 avril 2013
1
Je me suis peut être mal exprimé, mais j'aimerais pouvoir sélectionner que le 1er élément de la ListBox en cliquant dessus avec la souris (item devient gris). J'aimerais qu'en cliquant avec la souris sur l'élément 3 par exemple, la sélection soit impossible (item ne devient pas gris).
En gros, que je ne puisse sélectionner (iem devient gris ou bleu) q'un seul élément !

Mais c'est peut être impossible et vais essayer autre chose.
Merci quand même
bye
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
5
Salut!
C'est pas claire! claire! Mais si j'ai bien compris ce que dit 13557 DARKSIDIOUS est amplement suffisant : MultiSelect = False (Propriété du listbox). Avec ça tu selectionnes uniquement un élément de ton listbox.

 Drikce 06
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
20
Saly Drikce

Ce n'est en effet pas très clair et c'est assez trompeur...

Mais on finit par comprendre, en le lisant, qu'il ne veut pas permettre la sélection (carrément) de ce qui n'est pas ce qu'il a décidé !
(je vois mal pourquoi , mais...)
Je lui ai donc répondu... (et ne veux pas savoir à quoi celà peut lui servir ...)
Messages postés
278
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
13 avril 2013
1
Merci jmfmarques! tu m'as bien compris.
Drikce06 : je connais la propriété MultiSelect qui sert à pouvoir séléctionner plusieurs ligne à la fois. Moi je voulais sélectionner une ligne seulement (Multiselect à false) mais EMPECHER la sélection de certaines lignes, autrement dit, ne pas pas pouvoir séléctionner toutes les lignes !!!!

Merci à tous
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
5
Effectivement, j'avais pas cherché la catégorie "truc bizzard" dans mon cervau! lol!

 Drikce 06
Messages postés
278
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
13 avril 2013
1
Drickes06 : c'est pas parceque ta pas comrpris ce que je demandais et tu ne vois pas l'utilité de ma fonction que c'est un "truc bizzard" !!!
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
20
Salut Philippe et sans vouloir bien évidemment prolonger un tel "débat".

A moins que tu n'aies de bonnes raisons (que personne ne te demandera bien évidemment d'exposer, s'agissant de ton application) :

Tu peux également ne remplir ta listbox que du seul article dont du permets la sélection, en assortissant le additem de la condition que tu décides.

Mais, une autre fois, tu es le seul à savoir ce que tu fais là ... et pourquoi tu le fais ...

Amitiés
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
@Pilippe,
En supposant que tu ne veux permettre
la selection que d' un item dont tu connais
d' avance la position:


Private Sub List1_Click()
   'quelque soit la ligne sélectionnée
   if List1.ListCount >0 Then  List1.ListIndex = Position-1
 End Sub