Récupérer les données d'une listbox

Résolu
dhartex Messages postés 7 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 22 juillet 2005 - 19 juil. 2005 à 17:04
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 19 juil. 2005 à 20:08
Bonjour,
j'aimerai savoir comment on fait pour récupérer les éléments sélectionnés dans une listbox pour qu'ils soient ensuite incorporés dans un module.

Merci d'avance

DharTeX

6 réponses

Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
19 juil. 2005 à 18:17
Salut







vois avec ceci, si ça résoud ton pb:





Option Explicit



Private Declare Function SendMessage Lib "user32" _

Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg _

As Long, ByVal wParam As Long, lParam As Any) As Long



Private Const LB_GETSELITEMS = &H191



Private Sub Command1_Click()



Dim ItemIndexes() As Long, x As Integer, iNumItems As Integer

iNumItems = List1.SelCount

If iNumItems Then

ReDim ItemIndexes(iNumItems - 1)

SendMessage List1.hwnd, LB_GETSELITEMS, iNumItems, _

ItemIndexes(0)

End If

Debug.Print "vous avez selectionné : "

For x = 0 To iNumItems - 1

Debug.Print List1.List(ItemIndexes(x))

Next x



End Sub



++



Zlub
3
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
19 juil. 2005 à 19:31
Bonsoir,

Pour placer les données dans un module, a part les écrires toi-même, il n'y a pas d'autre solution (a ma connaissance)



jpleroisse
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
19 juil. 2005 à 19:35
Salut,

B'hein tu passes le tableau (par exemple ItemIndexes) en parametre à une fonction de ton module et hop c'est fait ...

++

Zlub
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
19 juil. 2005 à 19:38
Salut,

Si tu es en vb6 et que c'est une listbox de ton appli, une autre méthode sans api :

Pour une listbox pas en MultiSelect:

msgbox list1.text ou list1.list(list1.listindex)

Pour une listbox en multisect :

Dim i As Integer


For i = 0 To List1.ListCount - 1
If List1.Selected(i) Then MsgBox List1.List(i)
Next

A la place des msgbox, je te laisse le choix de tes variables.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0

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

Posez votre question
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
19 juil. 2005 à 19:40
L'api est bien pratique dans la mesure où les données sont directement stockées dans un tableau ... vu qu'il veut passer le tout à un module, ça me semble bien ...

++

Zlub
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
19 juil. 2005 à 20:08
OK avec toi Zlub, j'utilise aussi les API, notamment SendMessage, dans pas mal de cas. C'est suivant la perf que je veux obtenir.
Seulement, au vu de la question, pas très précise, et ne sachant pas le niveau de connaissance de dhartex, j'ai proposé la méthode la plus simple.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Rejoignez-nous