phenX
Messages postés705Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention28 août 2012
-
17 févr. 2006 à 14:18
phenX
Messages postés705Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention28 août 2012
-
17 févr. 2006 à 15:57
slt,
J'ai deux Lisbox (L1 et L2), je sais tranférérer de L1 à L2 une ligne en clicuant su un bouton, mais ce que je voudrais c'est ppouvoir faire la même chose mais avec plusieurs lignes.
Explication:
Si dans L1 j'ai trois lignes avec : 1
2
3
je sélectionne 1 et 3 , je clique sur mon bouton (Transf) et dans une ligne de L2 j'obtiens: 1, 3
phenX
Messages postés705Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention28 août 2012 17 févr. 2006 à 14:45
je l'ai fais, ca marche bien, sauf que ca met pas sur la même ligne sur une nouvelle ligne achaque fois. Je voudrais mettre les données les unes a coté des autres pour chauques multiselections.
Une autre petite questionde comprehension: a quoi sert le -1 dans For u = 0 To (L1.ListCount - 1)??
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010 17 févr. 2006 à 15:05
Listcount c'est la ligne suivante qui ne contient rien. C'est doonc une valeur qui indique la limite de la liste. Si tu as 4 éléments, Liscount sera à 5.
Sinon, je te l'ai dis, il faut insérer des lignes vides pour avoir ce que tu veux.
Public Function AddStringNull(LA as Long)
'LA => Numéro de la ligne à ajouter
Dim i as Long
If L2.listcount < LA then
for i = (LA - L2.listcount) to LA
L2.additem("")
Next i
End if
End Function
Voilà pour rajouter les lignes vides? Attention j'ai pas testé le code
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010 17 févr. 2006 à 15:10
'code final
Private Sub Ajout_Click()
Dim u As Long
For u = 0 To (L1.ListCount - 1)
If L1.Selected(u) = True Then AddStringNull(u): L2.AddItem (L1.List(u))
Next u
End sub
Public Function AddStringNull(LA as Long)
'LA => Numéro de la ligne à ajouter
Dim i as Long
If L2.listcount < LA then
for i = (LA - L2.listcount) to LA
L2.additem("")
Next i
End if
End Function
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010 17 févr. 2006 à 15:13
Oups petite erreur c'est pas additem qui fallait mettre
Private Sub Ajout_Click()
Dim u As Long
For u = 0 To (L1.ListCount - 1)
If L1.Selected(u) True Then AddStringNull (u): L2.List(u) (L1.List(u))
Next u
End Sub
Public Function AddStringNull(LA As Long)
'LA => Numéro de la ligne à ajouter
Dim i As Long
If L2.ListCount < LA Then
For i = (LA - L2.ListCount) To LA
L2.AddItem ("")
Next i
End If