Déplacer(monter descendre) toute "une ligne" d'une listbox multicolonne

exene

XLDnaute Accro
Bonjour,

Dans le fichier joint, j'ai un userform avec une listbox multicolonne, deux commandbutton qui permettent de monter ou descendre un item. J'aimerai pouvoir déplacer tous les items d'une même "ligne".J'ai vu plusieurs exemples mais n'est pas réussi à adapter le code. De plus, il faudrait gérer les erreurs car quand on sélectionne le 1er item et que l'on clique sur Up, j'ai une message d'erreur, même chose pour le dernier item.

Merci pour vos conseils

@ plus
 

Pièces jointes

  • UserForm XLD.xlsm
    25.5 KB · Affichages: 64
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : Déplacer(monter descendre) toute "une ligne" d'une listbox multicolonne

voilà un peu mieux :cool:

VB:
Private Sub CommandButton1_Click()
    Dim Prec()
    ReDim Prec(0 To 3)
    With ListBox1
        If .ListCount = 0 Or .ListIndex = -1 Or .ListIndex = 0 Then Exit Sub
        For i = 0 To 3
            Prec(i) = .List(.ListIndex - 1, i)
            .List(.ListIndex - 1, i) = .List(.ListIndex, i)
            .List(.ListIndex, i) = Prec(i)
        Next
        ' Resélection de l'élément déplacé
        .ListIndex = .ListIndex - 1
    End With

End Sub

Private Sub CommandButton2_Click()
    Dim Suiv()
    ReDim Suiv(0 To 3)
    With ListBox1
        If .ListCount = 0 Then Exit Sub
        For i = 0 To 3
            Suiv(i) = .List(.ListIndex + 1, i)
            .List(.ListIndex + 1, i) = .List(.ListIndex, i)
            .List(.ListIndex, i) = Suiv(i)
        Next
        ' Resélection de l'élément déplacé
        .ListIndex = .ListIndex + 1
    End With

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 362
Membres
103 530
dernier inscrit
Chess01