[VB6] récup élément d'une listbox

predateur Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -  
predateur Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai une listbox list1 qui contient plusieurs éléments par exemple:

Société
Nom
Prénom
Adresse

J'ai créé un bouton à côté Command1ToDown dans une procédure Command1ToDown.click

Maintenant j'explique ce que je veux faire.

Je sélectionne par exemple Prenom, et je clique sur le bouton Command1ToDown et celui-ci dois prend la place de Adresse et vice versa, ce qui nous donne au final

Société
Nom
Adresse
Prénom

Maintenant pour le code j'ai pensé à quelque chose comme

if command1ToDown.selected(i) = true then
command1ToDown.selected(i) = Var1
command1ToDown.selected(i+1) = Var2
command1ToDown.selected(i) = Var2
command1ToDown.selected(i+1) = Var1
end if


Le problème c'est que ca ne fonctionne pas.

Merci d'avance
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ton code est très bizarre.

command1ToDown d'après ce que tu dis c'est le bouton, faut donc que tu agisses sur la liste et non sur le bouton.
En fait tu retournes sur la feuille qui contient ta frame. Ensuite tu double-cliques sur le bouton. Tu arrives dans une procédure qui sera appelée lorsque l'événement clique se fera sur le bouton. Ensuite tu échanges les éléments dans list1.
0
predateur Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   3
 
oops, pardon

en effet, il faut remplacer les command1ToDown par list1

en faite c'est la procédure qui s'appelle Command1ToDown

Private Sub Command1ToDown_Click()


Donc maintenant je n'obtiens pas d'erreur, mais je n'observe pas de modification au moment où je clique sur le bouton
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Tu as écris quoi dans la procédure Private sub command1ToDown_click() ??
0
predateur Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   3 > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Private Sub Command1ToDown_Click()
Dim i As Long
For i = 0 To List2.ListCount - 1
If List2.Selected(i) = True Then
List2.Selected(i) = Var1
List2.Selected(i + 1) = Var2
List2.Selected(i) = Var2
List2.Selected(i + 1) = Var1
End If
Next i
End Sub
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Normal que ça ne marche pas.
Mets plutot dans ta procédure command1ToDown_click():

tmpIndex=List1.SelectedIndex
tmpItem = List1.SelectedItem
list1.Insert.RemoveAt(tmpIndex)
list1.Items.Insert((tmpIndex+1) mod list1.Items.Count, tmpItem)

ps : je suis pas sûr que cela marche, j'ai pas testé.
j'ai mis un mod pour modulo histoire que si c'est le dernier élément, il repassera en première position. A toi de voir
0
predateur Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   3
 
Okay merci pour ton code, j'ai compris ton raisonnement, je vais essayer de l'adapter.
0