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

Signaler
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
-
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
-
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

Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
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
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
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+++
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
1
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
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
1
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
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
1
ok merci

c'était le SelectedIndicesque je ne connaissais pas

merci
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
salut ,
Eh bien ,maintenant tu le connais !
A+