selection multiple listbox par vba

  • Initiateur de la discussion Initiateur de la discussion bob78
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.

|||||||
@+@
\=/
------
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
533
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
418
  • Question Question
Microsoft 365 Listbox
Réponses
3
Affichages
515
Retour