selection multiple listbox par vba

B

bob78

Guest
Bonjour,

j'aimerai selectionner plusieur liste d'une liste box par code VBA en utilisant la propriété multiselect de la listbox.
avec
MaListebox.Listindex = i, j'arrive à sélectionner la ligne i.
j'aimerai faire de même mais avec plusieurs lignes à la fois.

Merci.

|||||||
@+@
\=/
------
 
E

eric

Guest
Salut,

J'aurai aimé être la tête pensante qui a créée ce code, mais non, c'est simplement un copier coller de l'aide VBA, et en plus, ça marche :

MultiSelect, Selected, propriétés, exemple

L'exemple suivant utilise les propriétés MultiSelect et Selected pour illustrer comment l'utilisateur peut sélectionner un ou plusieurs éléments dans un contrôle ListBox. L'utilisateur spécifie avec un bouton d'option une méthode de sélection, et sélectionne un ou plusieurs éléments du contrôle ListBox. L'utilisateur peut afficher les éléments sélectionnés dans un deuxième contrôle ListBox en cliquant sur le contrôle CommandButton.

Pour utiliser cet exemple, copiez le code suivant dans la partie Déclarations d'une feuille et vérifiez que celle-ci contient :

deux contrôles ListBox nommés ListBox1 et ListBox2,


un contrôle CommandButton nommé CommandButton1,


trois contrôles OptionButton nommés OptionButton1 à OptionButton3.
Dim i As Integer

Private Sub CommandButton1_Click()
ListBox2.Clear

For i = 0 To 9
If ListBox1.Selected(i) = True Then
ListBox2.AddItem ListBox1.List(i)
End If
Next i

End Sub

Private Sub OptionButton1_Click()
ListBox1.MultiSelect = fmMultiSelectSingle
End Sub

Private Sub OptionButton2_Click()
ListBox1.MultiSelect = fmMultiSelectMulti
End Sub

Private Sub OptionButton3_Click()
ListBox1.MultiSelect = fmMultiSelectExtended
End Sub

Private Sub UserForm_Initialize()
For i = 0 To 9
ListBox1.AddItem "Choice " & (ListBox1.ListCount + 1)
Next i

OptionButton1.Caption = "Single Selection"
ListBox1.MultiSelect = fmMultiSelectSingle
OptionButton1.Value = True

OptionButton2.Caption = "Multiple Selection"
OptionButton3.Caption = "Extended Selection"

CommandButton1.Caption = "Show selections"
CommandButton1.AutoSize = True
End Sub

Normalement, cela doit répondre à ta question.

Bon week end
 
B

bob78

Guest
re-Bonjour les gens,

en fait ce que je veux c'est :

Sélectionner plusieur lignes de ma listbox depuis un programme (sans la souris, car en fait c'est une fonction de recherche que je developpe)

en faisant

listbox.listindex = i
je "sélectionne" l'élément i.

je voudrais faire quelque chose comme :
listbox.listindex = i
listbox.listindex = j
listbox.listindex = k
listbox.listindex = l
=> que ces quatre éléments soient "sélectionnés" (en bleu, quoi...).

Ciao
 

Starnice

XLDnaute Nouveau
Bonjour tout le monde.
La question remonte à un certain temps, mais comme je viens de passer du temps sur le même soucis, voici la solution que j'ai trouvé, au cas où d'autres personnes chercheraient :

Il faut mettre deux lignes par sélection :
listbox.listindex = i
listbox.selected(i)=True

donc,
listbox.listindex = i
listbox.selected(i)=True
listbox.listindex = j
listbox.selected(j)=True
listbox.listindex = k
listbox.selected(k)=True
 

Membres actuellement en ligne

Statistiques des forums

Discussions
313 973
Messages
2 104 106
Membres
108 894
dernier inscrit
Aussmodeus