VB.Net Remplir un Tableau à partir d'élément sélectionnés dans un ListBox

Résolu
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 19 août 2008 à 20:21
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 - 20 août 2008 à 13:06
Bonjour


Comment est-il possible de récupérer les éléments sélectionnés dans un ListBox et les mettres dans un tableau ???


Premiere question...
Comment fait-on pour connaitres le nombre d'élément sélectionné dans le ListBox


C'est un tric du genre que je veux faire mais je n'yarrive pas


merci de votre aide





Dim j As Integer
Dim Test As String()
.......   
For j = 0 To ListBox1.SelectedItems.Item 'Erreur
    Test(j) = ListBox1.SelectedItems.Item(j) 'Erreur ????
Next
.......

6 réponses

dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
20 août 2008 à 02:49
salut ,
Pourquoi faire simple quant on peut faire compliquer !
Voici un code qui permet de recupérer les lignes selectionnées
du Listbox.(et non toute la liste!)

-----------------------------------------------------------
Dim j As Integer
Dim Element As String
'parcours les lignes selectionnées
For Each j In ListBox1.SelectedIndices
Element = ListBox1.Items.Item(j)
'---------------------------------------------
'créer le code pour mettre ces données au fur
'et à mesure dans ton tableau.
'---------------------------------------------
Next
Bonne nuit
3
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
19 août 2008 à 21:21
Salut MagDix ,
Y pas un tric mais un truc !

Voici ce que je te propose:
--------------------------------------------------------------------------------------
Dim j
As
Integer
Dim Element
As
String
Dim NombreElementDuListbox
As
String








'Nombre total d'élement du Listbox

  NombreElementDuListbox = ListBox1.Items.Count


'parcours toute la liste

  For
j = 0

To
NombreElementDuListbox - 1
         Element = ListBox1.Items.Item(j)


 

         'créer le code pour mettre ces données au fur
et à mesure dans ton tableau.

 
Next
-----------------------------------------------------------------------------------------------
  A+++
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
20 août 2008 à 01:57
Salut Dedenet2...

En plus de faire des fautes de frappes (tric) j'oublie de mettre ma deuxième question....

Le code est ok mais ca sélectionne tous les éléments du listbox.

Si j'en sélectionne que 2 par exemple, je veux mettre dans smon tableau que les deux éléments sélectionnés..

J'ai essayé le SelectedItems ou SelectedItem mais ca me donne rien....

Dim Element
As
String
Dim j
As
Integer
Dim NombreElementDuListbox
As
String<strike>NombreElementDuListbox = ListBox1.Items.Count </strike>

<strike>'Nombre total d'élement du Listbox</strike>NombreElementDuListbox = ListBox1.SelectedItem.Count  'Je dois avoir le nombre d'item sélectionné dans le ListBox

For j = 0
To NombreElementDuListbox - 1
     Element = ListBox1.Items.Item(j) 'Seulement les élément sélectionnés seront dans le tableau, je n'y arrive pas

Next

Merci de ton aide
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
20 août 2008 à 02:36
Encore moi...

J'ai trouvé une façcon de faire mais je ne la trouve pas tres bonne...

J'y arrive mais je dois vérifier toutes les lignes du ListBox. Existe-t-il une façcon pour lire que les lignes sélectionnés.. ??

merci de ton aide..

Voici le code qui fonctionne mais n'est pas au point

Dim

SiSelection
As
Boolean
Dim j
As
Integer
Dim NombreElementDuListbox
As
Integer, Compteur
As
Integer

If Tableau_Selection
IsNot
Nothing
Then
ReDim Tableau_Selection(0)
'Efface le Tableau
   NombreElementDuListbox = ListBox1.Items.Count
'Nombre total d'élement du Listbox
   For j = 0
To NombreElementDuListbox - 1
'Lit tous les éléments du ListBox
      SiSelection = ListBox1.GetSelected(j)
'Renvois un Boolean si l'élément est sélectionné alors SiSelection  = True
      If SiSelection =
True
Then
         Count_Nb_Ligne_Tableau = Count_Nb_Ligne_Tableau + 1

         If Compteur = 0
Then
            ReDim Tableau_Selection(Compteur)

         Else
            ReDim
Preserve Tableau_Selection(Compteur)

         End
If
      Tableau_Selection(Compteur) = ListBox1.Items.Item(j)
      Compteur = Compteur + 1

   End
If
Next
0

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

Posez votre question
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
20 août 2008 à 12:19
ok merci

c'était le SelectedIndicesque je ne connaissais pas

merci
0
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
20 août 2008 à 13:06
salut ,
Eh bien ,maintenant tu le connais !
A+
0
Rejoignez-nous