Ajout Multiple dans une liste à sélection multiple

Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008 - 21 sept. 2004 à 22:16
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 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!!!

4 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
21 sept. 2004 à 22:31
combien de listes utilises-tu ??

Me.lstMedia , Me.lstDepart et Me.lstArrivee ???

verifies que

While i < Me.lstMedia.ListCount

n'est pas juste comme ca

While i < Me.lstDepart.ListCount

:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)

Membre du club CodeS-SourceS
0
Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008
21 sept. 2004 à 22:43
Pardon, j'ai oublié de changer un nom... c'est lstDepart à la place de lstMedia mais ça change rien... j'ai le meme probleme...
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
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
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
22 sept. 2004 à 11:41
Olala, je l'avais pas vu celle la

Quel sacré sens de l'observation que t'as rene38 :big)

:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)

Membre du club CodeS-SourceS
0
Rejoignez-nous