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

Résolu
cs_seema Messages postés 9 Date d'inscription lundi 16 août 2010 Statut Membre Dernière intervention 3 août 2011 - 21 oct. 2010 à 03:30
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

2 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
21 oct. 2010 à 04:36
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
3
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
Merci Beaucoup pour votre réponse :) c utile ça
et merci pour votre disponibilité mon ami ^^
0
Rejoignez-nous