Probleme pour deplacer des Items dans ListBox

Bonjour à tous,

9devis-dataa.zip (58.05 Ko)

Je cherche à déplacer manuellement des valeurs de cellules dans une listBox. En Cherchant sur le Web j'ai trouvé mon bonheur mais, car il y a toujours un mais, lorsque ma sélection arrive en haut de la liste et que j'appuie une fois de plus sur le spinbutton, j'ai une erreur (Erreur d'execution 380 - impossible de définir la propriété Selected. En espérant avoir été plus ou moins clair, si quelqu'un à une idée.... Merci d'avance

Bonjour,

Si j'ai bien compris votre problématique, sans le code corrigé sans la gestion d'erreur :

Private Sub SpinButton1_SpinUp()
Dim Valeur As String
If ListTrBTS.ListIndex = -1 Then MsgBox "Vous n'avez pas séléectionné de ligne" : Exit Sub
If ListTrBTS.ListIndex = 0 Then MsgBox "Item déjà en haut de la liste", vbCritical: Exit Sub 'Si position de l'item = 0 alors
Valeur = ListTrBTS
ListTrBTS.RemoveItem ListTrBTS.ListIndex
ListTrBTS.AddItem Valeur, ListTrBTS.ListIndex - 1
ListTrBTS.Selected(ListTrBTS.ListIndex - 2) = True
End Sub

En effet lorsqu'un item est en haut de la liste son index est de 0, si aucun item n'est sélectionné l'index est de -1, or ici vous souhaitez retiré -2 à l'index de l'item sélectionné ce qui n'est pas possible car si son index initial est de 0, alors 0-2 = -2 ce qui n'est pas possible dans une liste, son index limitant étant de -1. Dans ce cas on test si l'item est en haut de la liste (2ème ligne en commentaire) et si c'est le cas alors on affiche un message.

Cdlt,

Un grand Merci. la solution marche à merveille

Rechercher des sujets similaires à "probleme deplacer items listbox"