Maximum de lignes de listbox

Signaler
Messages postés
1
Date d'inscription
mercredi 11 avril 2007
Statut
Membre
Dernière intervention
26 mai 2007
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjour à tous,
J'aurais souhaiter que quelqu'un me dise combien de ligne au maximum pouvait contener une listbox?
Merci

18 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Autant que tu veux en ajout.
Si par contre, tu veux ensuite traiter, tu auras des problèmes au delà d'une limite
mais tu aurais pu le vérifier toi-même, non ?

Private Sub Command1_Click()
 Max = 32757
 For i = 1 To Max
   List1.AddItem i
 Next
 MsgBox List1.ListCount
End Sub
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Tiens bonne question....Je viens de faire un test et je viens de mettre 100000 toto !!!

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Bonjour Exploreur,

Oui : sans limites pour insérer (voir ce que j'ai dit)
Essaye maintenant un listcount ...
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Ah, ben mince alors....j'ai un négatif!!! Je m'arrête à 31072 items !

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut Jmfmarques,

C'est amusant ça, il va bien jusqu'à 100000, mais...Paf..paf..J'ai pas  100000 items mais 31072...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
que ce soient les propriété ListCount, ListIndex, ... ou alors l'index des propriétés List(), ItemCheck(), ItemData(), ...., tous ces paparmètres sont des integers.

Alors si l'ajout d'items semble illimité, tous les item suppérieurs à 32767 seront tout bonnement inaccessible.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Ne serait-ce pas plutôt le nombre de caractères plutôt que le nombre de lignes qui entre en compte ?

MPi
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Bonjour MPI,

non... c'est bien le nombre de lignes car la limite reste la même que l'on ajoute i ou i & "aaaaaaaaaaaaaaaaaaaaaaa"
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Je fais aussi un test et ça n'arrête plus de rouler... plus de 140 000 items pour l'instant dans le Caption et la liste sous Excel

Mon code:

Private Sub CommandButton1_Click()
    Dim I As Long
   
    On Error GoTo Erreur
   
    Do
        I = I + 1
        ListBox1.AddItem I
        Me.Caption = ListBox1.ListCount
        DoEvents
    Loop
   
    Exit Sub
   
Erreur:
    MsgBox I
    Unload Me
End Sub

J'ai l'impression que ça va s'arrêter à cause du I (?)

MPi
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
MPi, comment peut tu avoir 140000 dans le caption alors que tu utilise ListCount pour le remplir ??????

 ListCount étant un integer, il ne peut pas dépasser 32767 (65535 si il est configuré comme unsigned en interne)

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Pourquoi t'empoisonner tant la vie pour faire ce test, MPI ?

Tiens :
mets 150000 articles et clique sur le 100.000ème avec cette syntaxe :

Private Sub List1_Click()
  MsgBox List1.List(List1.ListIndex)
End Sub

Tu vas voir...(ou plutôt pas voir... tu vas voir ce que tu ne verras pas )

Clique par contre sur le 20.000 (toujours vec la même syntaxe) et là... tu vas vraiment voir !
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Arrêt à 262144 (?)Dans la liste il y a autant d'items dans la mesure où je ne vais pas tous les compter mais je me fie à ce que je vois... et le Caption est bien au ListCount 262144

JMF, rien ne m'a empoisonné... même pas le muffin que je viens de déguster...
Casy, je n'ai aucune idée pourquoi ListCount est plus élevé qu'un Integer, mais bon... c'est bien ce que ça me donne ici (?)

MPi
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Par contre il aurait été interessant de connaitre le message correspondant à l'erreur qui a arretée ton test.

Certainement un manque de mémoire ou quelque chose comme ça.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Sous quelle version de VB as-tu fait le test MPi, je n'obtient pas les mêmes résultats que toi.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
C'était sous Excel que j'avais déjà d'ouvert.
Je vais faire le test sous VB pour voir... et effectivement prendre le numéro d'erreur et le message...

MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Effectivement Casy, sous VB, le Caption passe au négatif une fois arrivé au max d'un Integer et redescend vers 0 puis remonte...

0 à 32767, puis -32766 vers 0, puis on recommence... 0 vers 32767...

MPi
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Oui, perso j'ai arreté le test, j'avais quand même dépassé 650000.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Moi aussi à 620 000 sous VB, j'en ai eu assez

J'ai donc tenté le même test sous VB mais avec une Listbox Office (Forms 2.0)
Et Listcount dépasse la capacité de l'Integer ... rendu à 70 000

Et là j'en ai assez de voir défiler des chiffres...

Bon week-end à vous !

MPi