Taille max d'un contrôle ListBox [Résolu]

Messages postés
37
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
3 juillet 2015
- - Dernière réponse : PatDeLaYaute
Messages postés
133
Date d'inscription
dimanche 28 avril 2002
Dernière intervention
15 janvier 2009
- 14 avril 2005 à 12:10
Bonjour,


je suis confrontée à un pb épineux : en effet j'ai un contrôle ListBox qui est alimenté par une table de ma base de données, table qui possède 2 champs : Code et Libellé.
Tout se passe très bien quand il n'y a qu'une dizaine d'enregistrements.
Les choses se gâtent sérieusement quand il y a plus d'une 30aine-40aine d'enregistrements, j'obtiens le message d'erreur suivant : "Erreur d'exécution 9 - Indice en dehors de la plage", et l'application se ferme.

Je souhaiterais donc savoir si on peut augmenter le nombre d'enregistrements à insérer dans une ListBox sans la faire planter, et éventuellement savoir s'il y a un contrôle qui pourrait remplacer cette liste au cas où je ne puisse pas augmenter la taille, sachant que je sélectionnais toutes les lignes de ma liste en un clic de bouton.

Merci de vos réponses.

Miss P.
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
17
3
Merci
bon je rectifie.
on peut rentrer autant de caractères qu'on veut et autant de lignes souhaitées et la ListBox accepte sans problème.
mais bizarrement elle sait pas gérer ses indices, encore un bug de crosoft !
à partir de 32768 elle passe en négatif, même avec un indice défini en Long.
pourtant les lignes sont rentrées et largement au-dessus de 65536.
désolé j'avais pas pas vu et loin d'imaginer une bêtise pareille.

pour éviter ce problème, utilise une ListView à la place, c'est pas beaucoup plus dur à utiliser et je n'ai jamais de rencontré de problèmes de limite avec ce contrôle.

Daniel

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 114 internautes nous ont dit merci ce mois-ci

Messages postés
133
Date d'inscription
dimanche 28 avril 2002
Dernière intervention
15 janvier 2009
3
3
Merci
Qaund je parle de 32768 entrées c'est bien sûr le nombre d'élements dans ta liste.

Gobillot >> Le problème de cette "limite" c'est que l'index d'une listbox est de type
Integer, tu ne peut pas changer le type de cette variable ormis si tu fait ton propre contôle
"Listbox" avec un index défini par un type Long.

@+
PatDeLaYaute

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 114 internautes nous ont dit merci ce mois-ci

Messages postés
133
Date d'inscription
dimanche 28 avril 2002
Dernière intervention
15 janvier 2009
3
0
Merci
Salut,



une listbox peut contenir environ 32700 entrées. (l'index est de type integer)

Vérifie ton code parce que tant que tu n'as pas atteint cette limite de 32700 il n'y a pas de plantage.


@+
PatDeLaYaute
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
17
0
Merci
il n'y a pas de limite dans une ListBox.
et le libellé de l'erreur ne correspond pas à la ListBox.

Daniel
Messages postés
37
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
3 juillet 2015
0
Merci
Re bonjour,

A PatDeLaYaute, je souhaiterai savoir quand tu parles d' "entrées" cela correspond à "caractères"? 32700 caractère max dans un ListBox?

A Gobillot, là je voudrais dire que quand je réduis le nombre d'enregistrements à insérer dans le ListBox, tout rentre dans l'ordre et je n'ai plus de message.
Bien évidemment j'ai essayé avec des données différentes d'un essai à l'autre pour cerner le pb.
Cela vient donc bien de mon ListBox... désolée. ;-)

A vous deux enfin, merci pour vos réponses et à celles (futures) de tous les autres!

Miss P.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.