Comment faire une collection de listbox ???

Le
LE TROLL
Bonjour,

Comment fairen une collection de listBox physiques et préalablement sur
la form, afin de pouvoir les appeler par un indice, j'ai fait ceci :

Dim i As Long

Dim iL As New Collection() ' débute . 1 (iL)

iL.Add(Me.list1)

iL.Add(Me.list2)

iL.Add(Me.listbox3)

iL.Add(Me.listbox4)

For i = 1 To 4

Select Case i

Case 1 : iL(1).items.add("un")

Case 2 : iL(2).items.add("deux")

Case 3 : iL(3).items.add("trois")

Case 4 : iL(4).items.add("quatre")

End Select

Next i


Mais le compilateur n'en veut pas, il me met une vague en dessous, me
disant que les listbox ne sont pas membre de "nom d'application" form1 ???

Il doit manquer quelque chose, toutefois les listes sont bien éclarées
physiquement, puis-je avoir vos lumières ?

Et, quand on termine, faut-il faire :
variableOblet_iL = NoThing ???

Cordialement ;o)

-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #20546981
Bonjour Le Troll,

Je ne sais pas ! (c'est malin ca ! il sait pas et il répond !)

Mais par contre, je peux déjà te dire que ca ne sera pas de 1 à 4, mais de 0
à 3, sachant qu'il peut être préférable de mettre de 0 à Ubound(iL).

Cordialement,
Stéphane.


"LE TROLL"
Bonjour,

Comment fairen une collection de listBox physiques et préalablement sur
la form, afin de pouvoir les appeler par un indice, j'ai fait ceci :

Dim i As Long

Dim iL As New Collection() ' débute . 1 (iL)

iL.Add(Me.list1)

iL.Add(Me.list2)

iL.Add(Me.listbox3)

iL.Add(Me.listbox4)

For i = 1 To 4

Select Case i

Case 1 : iL(1).items.add("un")

Case 2 : iL(2).items.add("deux")

Case 3 : iL(3).items.add("trois")

Case 4 : iL(4).items.add("quatre")

End Select

Next i


Mais le compilateur n'en veut pas, il me met une vague en dessous, me
disant que les listbox ne sont pas membre de "nom d'application" form1 ???

Il doit manquer quelque chose, toutefois les listes sont bien éclarées
physiquement, puis-je avoir vos lumières ?

Et, quand on termine, faut-il faire :
variableOblet_iL = NoThing ???

Cordialement ;o)

-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.




LE TROLL
Le #20547441
Bonjour Stéphane,

Alors j'ai enfin trouvé comment faire une collection, donc en pratique
indicer un objet (listes en l'espèce), voici :

Dim i As Long

Dim iL As New Collection() ' d,bute . 1 (iL)

iL.Add(Me.ListBox1)

iL.Add(Me.ListBox2)

iL.Add(Me.ListBox3)

iL.Add(Me.ListBox4)

For i = 1 To 4

Select Case i

Case 1 : iL(i).items.add("un")

Case 2 : iL(i).items.add("deux")

Case 3 : iL(i).items.add("trois")

Case 4 : iL(i).items.add("quatre")

End Select

Next i



Tiens, y a mon éditeur WebMail qui fait ce qu'il veut, il change de
police, de taille, de couleur, d'espacement, ben ? Pourquoi pas...



Alors ça débute bien à 1 et non pas à 0, c'est une particularité des
collections semblet-t-il... Pour une fois que c'est normal, le 0 étant le
plus souvent un neutre, et non pas un positif...



Par contre je ne sais pas s'il faut utiliser "NoThing" en fin
d'utilisation, en sortie de programme ?



Je me suis rensegné gâce à un site aussi, ici :



http://www.pise.info/vb-net/06.htm



C'est pas mal, il traite de la façon d'utiliser "for each" avec les
collections, l'instruction "TypeOf" idem...

Il dit même qu'on peut rajouter aux Handles d'une procédure la liste des
objets que l'on veut manipuler en les indiçant, ce qui serait une seconde
méthode, mais bon, une seule suffit, tu verras si tu lis, ce n'est pas mal
(un prof de fac), et justement lui aussi dit que les collections commencent
un 1, et critique franchement vbNet, c'est d'ailleurs ce que j'en pense :
deux fois plus compliqué et tordu, et deux fois moins performant, oui, je
sais, on n'a pas le choix :o)



Bon, ben à la prochaîne, déjà là je vais me décharger d'un poids en
indiçant, car jen avait marre de mettre if list1, if list2...



Cordialement ;o)

-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


<Stéphane> a écrit dans le message de
news:
Bonjour Le Troll,

Je ne sais pas ! (c'est malin ca ! il sait pas et il répond !)

Mais par contre, je peux déjà te dire que ca ne sera pas de 1 à 4, mais de
0 à 3, sachant qu'il peut être préférable de mettre de 0 à Ubound(iL).

Cordialement,
Stéphane.


"LE TROLL"
Bonjour,

Comment fairen une collection de listBox physiques et préalablement
sur la form, afin de pouvoir les appeler par un indice, j'ai fait ceci :

Dim i As Long

Dim iL As New Collection() ' débute . 1 (iL)

iL.Add(Me.list1)

iL.Add(Me.list2)

iL.Add(Me.listbox3)

iL.Add(Me.listbox4)

For i = 1 To 4

Select Case i

Case 1 : iL(1).items.add("un")

Case 2 : iL(2).items.add("deux")

Case 3 : iL(3).items.add("trois")

Case 4 : iL(4).items.add("quatre")

End Select

Next i


Mais le compilateur n'en veut pas, il me met une vague en dessous, me
disant que les listbox ne sont pas membre de "nom d'application" form1
???

Il doit manquer quelque chose, toutefois les listes sont bien éclarées
physiquement, puis-je avoir vos lumières ?

Et, quand on termine, faut-il faire :
variableOblet_iL = NoThing ???

Cordialement ;o)

-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.








Publicité
Poster une réponse
Anonyme