Récupérer les données d'une listbox [Résolu]

Signaler
Messages postés
7
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
22 juillet 2005
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
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

Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
9
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
25
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
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
9
Salut,

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

++

Zlub
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
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 !?
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
9
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
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
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 !?