SUPPRESSION ELEMENTS SELECTIONNES DANS UNE LISTEBOX

[Résolu]
Signaler
Messages postés
84
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
14 décembre 2016
-
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
-
Bonjour

Voici un soucis que je n'arrive pas à résoudre (environnement VB6) :

A partir de ce code :

For i = 0 To Liste_Ptcp.ListCount - 1
    If Liste_Ptcp.Selected(i) = True Then Liste_Ptcp.RemoveItem (i)
Next i

Tous les éléments sélectionnés (case à cocher) dans la listebox nommée Liste_Ptcp doivent être supprimés.
Cependant, à un moment donné j'ai le message d'erreur suivant :

Erreur d'exécution 381, index de tableau de propriété incorrect.

Je ne vois pas ce qui peut générer cette erreur.
Merci de votre aide.

Cdlt
Jerome

4 réponses

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

Commence ta boucle par la fin de ta listbox..

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
Re,

Private Sub Command1_Click()


For i = Liste_Ptcp.ListCount - 1 To 0 Step -1
    If Liste_Ptcp.Selected(i) = True Then Liste_Ptcp.RemoveItem (i)
Next i


End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin
Messages postés
84
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
14 décembre 2016

Mereci Exploreur

Je n'aurai jamais pensé à commencer ma boucle par la fin.
un grand merci
jerome
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
c'est parce que en supprimant par le début cela change la position des index...en commençant par la fin tu seras toujours dans un "ordre" logique et continue ^^

A+
Exploreur

 Linux a un noyau, Windows un pépin