Comment récupérer plusieurs choix d'une listbox dans une table excel?

cs_ArnoLanf Messages postés 1 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 14 août 2003 - 14 août 2003 à 15:53
kiminox Messages postés 33 Date d'inscription jeudi 27 septembre 2001 Statut Membre Dernière intervention 4 octobre 2003 - 13 oct. 2003 à 11:24
Bonjour,
J'ai une listbox couplé à une table excel qui permet la selection multiple. J'aimerais limité le nombre de choix à 3 et pouvoir récupérer chaque choix dans 3 cellules excel différentes. Pouvez m'éclairer sur le sujet?
Merci d'avance!

2 réponses

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
15 août 2003 à 11:26
Pour limiter le choix à 3 sélection, il te faut passer en revue la liste des éléments à chaque fois que l'utilisateur clique dans la listbox:

-Private Sub MaListBox_Click()
- Dim i as integer
- Dim iSélectionné as integer
- For i = 0 to MaListBox.ListCount-1
- If MaListBox.Selected(i) Then
- iSélectionné = iSélectionné + 1
- If iSélectionné = 3 Then
- MsgBox "Vous ne pouvez sélectionner que 3 éléments."
- End if
- End if
- Next
-End Sub

Pour récupérer ces choix, utilise le code suivant à mettre au bouton "Valider":

-Private Sub Valider_Click()
- Dim i as integer
-
- Dim iLigne as integer
- For i = 0 to MaListBox.ListCount-1
- If MaListBox.Selected(i) Then
- iLigne = iLigne + 1
- ActiveSheet.Range("A" & iLigne).Formula = MaListBox.List(i)
- End if
- Next
-End Sub

Voilà qui devrait théoriquement te dépanner...

Programmix
0
kiminox Messages postés 33 Date d'inscription jeudi 27 septembre 2001 Statut Membre Dernière intervention 4 octobre 2003
13 oct. 2003 à 11:24
Slt,

Dans une listbox de plusieurs milliers d'enregistrements acceptant le multiselect, comment ne récupérer que les fichiers sélectionnés?
En évitant la boucle de parcourir la liste avec
If MaListBox.Selected(i)
car trop long ...
qqun a t il une idée?

Merci
KIM
0
Rejoignez-nous