cs_seema
Messages postés9Date d'inscriptionlundi 16 août 2010StatutMembreDernière intervention 3 août 2011
-
21 oct. 2010 à 03:30
cs_seema
Messages postés9Date d'inscriptionlundi 16 août 2010StatutMembreDerniè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
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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