Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

problème de Création de listbox dynamiquement

2 réponses
Avatar
vbnet3
Bonjour,
j'au un problème lorsque j'ai crée un listbox dynamiquement .

mon code :

Dim list as listbox

list.AddItem "aaaa"


lorsque je lancer le projet il affiche l'erreur "Variable non définie"

2 réponses

Avatar
fraction
On 19 août, 16:22, vbnet3 wrote:
Bonjour,
j'au un problème lorsque j'ai crée un listbox dynamiquement .

mon code :

Dim list as listbox

list.AddItem "aaaa"

lorsque je lancer le projet il affiche l'erreur  "Variable non défini e"



Bonjour. Lorsque je tape "Dim list as", le menu contextuel ne me
propose pas la possibilité de déclarer une Listbox. Donc, ama, soit tu
crées une Listbox dans un userform, soit tu utilises une collection.
Avatar
Jean-Marc
On 19 août, 16:22, vbnet3 wrote:
Bonjour,
j'au un problème lorsque j'ai crée un listbox dynamiquement .

mon code :

Dim list as listbox

list.AddItem "aaaa"

lorsque je lancer le projet il affiche l'erreur  "Variable non défini e"



Hello,

ça ne marche pas comme ça.

Tu peux faire par exemple :

Private Sub Command1_Click()
Dim c As ListBox

Set c = Form1.Controls.Add("vb.ListBox", "MyNewListBox_1")

c.Left = Me.Width - c.Width

c.Visible = True
c.AddItem "toto"
c.AddItem "titi"

End Sub


Private Sub Command2_Click()

Form1.Controls.Add "vb.ListBox", "MyNewListBox_2"

Form1("MyNewListBox_2").Left = 0

Form1("MyNewListBox_2").Visible = True
Form1("MyNewListBox_2").AddItem "tutu"
Form1("MyNewListBox_2").AddItem "tata"

End Sub


Je te laisse chercher comment récupérer les évènements de ces
contrôles créés dynamiquement ...

Note1 : A part pour des choses très particulières, ces façons de fair e
n'ont aucun intérêt.

Note2 : Quand on a vraiment besoin de créer dynamiquement des
contrôles, la bonne méthode consiste à en créer un sur la forme, en
lui assignant un indice 0 (zéro). Puis on crée dynamiquement les
suivants avec Load. Tout ceci est expliqué ici : http://faq.vb.free.fr/in dex.php?questionˆ

Cordialement,

Jean-Marc