Sélection possible d'une seule ligne dans un LISBOX?

Résolu
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 - 24 nov. 2006 à 14:10
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 24 nov. 2006 à 15:20
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

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 nov. 2006 à 14:29
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
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
24 nov. 2006 à 14:14
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 ???
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 nov. 2006 à 14:15
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
0
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
24 nov. 2006 à 14:22
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
24 nov. 2006 à 14:33
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
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 nov. 2006 à 14:37
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 ...)
0
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
24 nov. 2006 à 14:39
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
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
24 nov. 2006 à 14:42
Effectivement, j'avais pas cherché la catégorie "truc bizzard" dans mon cervau! lol!

 Drikce 06
0
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
24 nov. 2006 à 14:49
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" !!!
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 nov. 2006 à 15:08
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
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 nov. 2006 à 15:20
@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
0
Rejoignez-nous