Supression des éléments selectionnés dans une liste multiChoix en VB6 , Aidez mo [Résolu]

Messages postés
9
Date d'inscription
lundi 16 août 2010
Statut
Membre
Dernière intervention
3 août 2011
- - Dernière réponse : cs_seema
Messages postés
9
Date d'inscription
lundi 16 août 2010
Statut
Membre
Dernière intervention
3 août 2011
- 22 oct. 2010 à 01:07
salut tout le monde ,

j'ai un petit problème avec les listes multichoix , je vous présente mon problème :
j ai deux listes multiChoix : List1 et List2 , et un bouton : Acheter
je sélectionne les éléments a partir de la première List1 , et quand je clique sur Acheter , ils sont déplacés vers la deuxième liste : List2 ,
mnt je veux supprimer les éléments que j'ai sélectionné pour acheter , pour qu'ils n'apparaitrent plus dans la liste List1 : et voila mon Code source de mon petit programme :
Private Sub Command1_Click()
If List1.ListIndex <> -1 Then
Dim i, cmp As Integer
Dim tableau(4) As Integer
cmp = 0
For i = 0 To List1.ListCount - 1
If List1.Selected(i) Then
List2.AddItem (List1.List(i))
End If
Next i
Else
MsgBox " veuillez sélectionner un livre !!!"
End If
  If List1.ListCount = 0 Then
Command1.Enabled = False
End If


j ai pensé a entregistrer les indices des éléments que j ai selectionné dans un tableau , pour les supprimer apres , mais sa marche pas , parce que quand je suis en train de supprimer dans la boucle , il vas me signaler une erreur 381 , parce que lorsqu'il vas atteindre le dernier élément , il vas pas le trouver ( la longueur de la liste sera décrémenté )

je vous en prie de m'aider a trouver une solution
Merci bcp
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
bete astuce, parcours la liste a l'envers:
Private Sub Command1_Click()
    If List1.SelCount Then
        For i = List1.ListCount - 1 To 0 Step -1
            If List1.Selected(i) Then
                List2.AddItem (List1.List(i))
                List1.RemoveItem i
            End If
        Next
    Else
        MsgBox " veuillez sélectionner un livre !!!"
    End If
    If List1.ListCount = 0 Then
        Command1.Enabled = False
    End If
End Sub



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Dire « Merci » 3

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

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

Commenter la réponse de Renfield
Messages postés
9
Date d'inscription
lundi 16 août 2010
Statut
Membre
Dernière intervention
3 août 2011
0
Merci
Merci Beaucoup pour votre réponse :) c utile ça
et merci pour votre disponibilité mon ami ^^
Commenter la réponse de cs_seema