Depassement capacite listbox 2

ccir Messages postés 11 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 24 mars 2015 - 27 mars 2006 à 18:42
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 27 mars 2006 à 20:01
Oui mais j'ai verifie tout a l'heure de manipuler la liste et je n'arrive pas a effacer le derniers 500 lignes! pourtant elles sont affiche dans la liste!

fait la liste multiselect, extended,
Essaye ca:



Private Sub Command1_Click()
Dim i As Long
DoEvents
List1.Visible = False
While i < 200000
DoEvents
List1.AddItem i
i = i + 1

Wend
List1.Refresh
Text1.Text = List1.ListCount
DoEvents
List1.Visible = True

End Sub

Private Sub Command2_Click()
Dim i As Long
For i = 0 To List1.ListCount - 1
If List1.Selected(i) = True Then
List1.RemoveItem (i)
End If
List1.Refresh
Next i

End Sub

j' ai essaye ca aussi et ca donne une erreur overflow quand I es a 32768

Private Sub Command2_Click()
Dim i As Long
For i = 0 To 199999
If List1.Selected(i) = True Then
List1.RemoveItem (i)
End If
List1.Refresh
Next i

End Sub

on dirais que la liste ne peut pas se gerer apres 32768 lignes?
??????????????????????????????????????

2 réponses

mcs2006 Messages postés 58 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 1 mai 2006
27 mars 2006 à 19:32
Bonjour,

Essaie ça :

Private Sub Command2_Click()
Dim i As Long
For i = 0 To List1.ListCount - 1
List1.RemoveItem 0
Next i

End Sub
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 mars 2006 à 20:01
Et oui, les index du listbox sont gérés par des integer et non des long, d'où ce problème d'overflow.

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0
Rejoignez-nous