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

Remplir rapidement 1 ComboBox

1 réponse
Avatar
Stéphane
Bonjour,

Je lis 1 fichier contenant 8000 données que je lis dans mets dans plusieurs
tableaux.
La lecture de ce fichier ne pose pas de pb et prend 1 seconde.

Dans 1 formulaire, je mets les valeurs de mes tableaux dans 1 ListView.
Cela ne me pose pas de problème non plus et prend 4 secondes.

Par contre, dans 1 autre formulaire, je veux mettre les valeurs de 1 seul de
mes tableaux dans 1 Combobox.
Par contre, là, cela mets 4 minutes... c'est 1 peu long :-x.

Je vous mets le code pour remplir la ListView, et celui pour la ComboBox :

Pour la ListView (fonctionne normalement) (les variables sont déclarées au
niveau du module) :
Sub remplir_listview1()

For numéro_en_cours = 1 To nb

listeviewitem1_tmp(numéro_en_cours) = New
ListViewItem(tableau1(numéro_en_cours))

listeviewitem1_tmp(numéro_en_cours).SubItems.Add(tableau2(numéro_en_cours))

listeviewitem1_tmp(numéro_en_cours).SubItems.Add(tableau3(numéro_en_cours))

listeviewitem1_tmp(numéro_en_cours).SubItems.Add(tableau4(numéro_en_cours))

Next numéro_en_cours

Me.ListView1.Items.AddRange(New ListViewItem() {})

For numéro_en_cours = 1 To nb_mp

Me.ListView1.Items.Add(listeviewitem1_tmp(numéro_en_cours))

Next numéro_en_cours

End Sub


Et pour la ComboBox (foncitonne mais problème de lenteur pour remplir) (les
variables sont déclarées au niveau du module) :
Sub remplir_combobox1()

For numéro_en_cours = 1 To nb

Me.ComboBox1.Items.Add(tableau1(numéro_en_cours))

Next numéro_en_cours

End Sub


Existe-t-il 1 moyen de remplir 1 ComboBox rapidement ?
Merci d'avance pour votre aide

_________________________

Cordialement,

Stéphane

1 réponse

Avatar
Stéphane
Pb trouvé.... j'avais laissé la propriété du Combobox Sorted à True oO
(forcément si ça retrie automatiquement à chaque élément ajouté, on a pas
terminé :D).

Le pb est maintenant corrigé ainsi :

Sub remplir_combobox1()


Me.ComboBox1.Sorted = False

For numéro_en_cours = 1 To nb

Me.ComboBox1.Items.Add(tableau1(numéro_en_cours))

Next numéro_en_cours




Me.ComboBox1.Sorted = True

End Sub



Désolé du dérangement :)

Stéphane


"Stéphane" a écrit dans le
message de news:
Bonjour,

Je lis 1 fichier contenant 8000 données que je lis dans mets dans
plusieurs tableaux.
La lecture de ce fichier ne pose pas de pb et prend 1 seconde.

Dans 1 formulaire, je mets les valeurs de mes tableaux dans 1 ListView.
Cela ne me pose pas de problème non plus et prend 4 secondes.

Par contre, dans 1 autre formulaire, je veux mettre les valeurs de 1 seul
de mes tableaux dans 1 Combobox.
Par contre, là, cela mets 4 minutes... c'est 1 peu long :-x.

Je vous mets le code pour remplir la ListView, et celui pour la ComboBox :

Pour la ListView (fonctionne normalement) (les variables sont déclarées au
niveau du module) :
Sub remplir_listview1()

For numéro_en_cours = 1 To nb

listeviewitem1_tmp(numéro_en_cours) = New
ListViewItem(tableau1(numéro_en_cours))


listeviewitem1_tmp(numéro_en_cours).SubItems.Add(tableau2(numéro_en_cours))


listeviewitem1_tmp(numéro_en_cours).SubItems.Add(tableau3(numéro_en_cours))


listeviewitem1_tmp(numéro_en_cours).SubItems.Add(tableau4(numéro_en_cours))

Next numéro_en_cours

Me.ListView1.Items.AddRange(New ListViewItem() {})

For numéro_en_cours = 1 To nb_mp

Me.ListView1.Items.Add(listeviewitem1_tmp(numéro_en_cours))

Next numéro_en_cours

End Sub


Et pour la ComboBox (foncitonne mais problème de lenteur pour remplir)
(les variables sont déclarées au niveau du module) :
Sub remplir_combobox1()

For numéro_en_cours = 1 To nb

Me.ComboBox1.Items.Add(tableau1(numéro_en_cours))

Next numéro_en_cours

End Sub


Existe-t-il 1 moyen de remplir 1 ComboBox rapidement ?
Merci d'avance pour votre aide

_________________________

Cordialement,

Stéphane