Ajout Multiple dans une liste à sélection multiple
Chris_LaFouine
Messages postés109Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention 4 juin 2008
-
21 sept. 2004 à 22:16
cs_frop01
Messages postés1352Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention19 novembre 2008
-
22 sept. 2004 à 11:41
Je suis sous Access 2003... j'ai 2 Listes : ListeDepart et ListeArrivee qui supportent la sélection multiple étendue.
En cliquant sur un bouton de commande, je souhaiterai ajouter un bloc de lignes sélectionnées dans ListeDepart et les transférer dans ListeArrivee. mais il n'insére que la première ligne et ne tiens pas compte des autres! Voilà le code que j'ai utilisé :
Private Sub cmdAjout_Click()
Dim i As Integer
i = 0
While i < Me.lstMedia.ListCount
If Me.lstDepart.Selected(i) = True Then
Me.lstArrivee.AddItem (Me.lstDepart.ItemData(i))
Me.lstDepart.RemoveItem (i)
End If
i = i + 1
Wend
End Sub
Aidez-moi!!!
A voir également:
Ajout Multiple dans une liste à sélection multiple
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 22 sept. 2004 à 11:24
Bonjour
Problème avec While i < Me.lstMedia.ListCount :
quand on fait un RemoveItem, ListCount n'est plus le même
Une solution :
Private Sub cmdAjout_Click()
Dim i As Integer
For i = Me.lstDepart.ListCount - 1 To 0 Step -1
If Me.lstDepart.Selected(i) Then
Me.lstArrivee.AddItem Me.lstDepart.ItemData(i)
Me.lstDepart.RemoveItem (i)
End If
Next i
End Sub
une autre :
Private Sub cmdAjout_Click()
Dim i As Integer
i = Me.lstDepart.ListCount - 1
While i >= 0
If Me.lstDepart.Selected(i) Then
Me.lstArrivee.AddItem Me.lstDepart.ItemData(i)
Me.lstDepart.RemoveItem (i)
End If
i = i - 1
Wend
End Sub