Déplacer les lignes d'une listview

christian.bedere

XLDnaute Occasionnel
Bonsoir le forum !!!


J'aimerai pouvoir afficher dans une listview les données d'une feuille de calcul et pouvoir les déplacer les unes en dessous des autres manuellement, par glisser-déposer, afin après de pouvoir les coller dans une feuille.

Pouvez-vous m'aider en me donnant un code pour les déplacer aisément.
je vous remercie bien
Bonne soirée

Christian
 

Pièces jointes

  • Déplacer.zip
    9.8 KB · Affichages: 46
  • Déplacer.zip
    9.8 KB · Affichages: 45
  • Déplacer.zip
    9.8 KB · Affichages: 44

bqtr

XLDnaute Accro
Re : Déplacer les lignes d'une listview

Bonsoir Christian, cibleo

Un exemple de code avec un spinbutton adapté pour une listview à 3 colonnes.
Il suffit de sélectionner la ligne à manipuler et de clicker sur le bouton du spinbutton souhaité.

Code:
Private Sub SpinButton1_SpinDown()

Dim TabDown(3)
Dim Numero As Integer

If ListView1.SelectedItem Is Nothing Then Exit Sub

With ListView1
   TabDown(0) = .ListItems(.SelectedItem.Index).Text
   TabDown(1) = .ListItems(.SelectedItem.Index).ListSubItems(1).Text
   TabDown(2) = .ListItems(.SelectedItem.Index).ListSubItems(2).Text
   Numero = ListView1.SelectedItem.Index
    If Numero = .ListItems.Count Then Exit Sub
    .ListItems.Remove (.SelectedItem.Index)
    .ListItems.Add Numero + 1, , TabDown(0)
    .ListItems(Numero + 1).ListSubItems.Add , , TabDown(1)
    .ListItems(Numero + 1).ListSubItems.Add , , TabDown(2)
    .ListItems(Numero + 1).Selected = True
End With

End Sub

Private Sub SpinButton1_SpinUp()

Dim TabUp(3)
Dim Numero As Integer

If ListView1.SelectedItem Is Nothing Then Exit Sub

With ListView1
   TabUp(0) = .ListItems(.SelectedItem.Index).Text
   TabUp(1) = .ListItems(.SelectedItem.Index).ListSubItems(1).Text
   TabUp(2) = .ListItems(.SelectedItem.Index).ListSubItems(2).Text
   Numero = ListView1.SelectedItem.Index
    If Numero < 2 Then Exit Sub
    .ListItems.Remove (.SelectedItem.Index)
    .ListItems.Add Numero - 1, , TabUp(0)
    .ListItems(Numero - 1).ListSubItems.Add , , TabUp(1)
    .ListItems(Numero - 1).ListSubItems.Add , , TabUp(2)
    .ListItems(Numero - 1).Selected = True
End With

End Sub

A+

Edit: ajout du ficher
 

Pièces jointes

  • Déplacer.zip
    12.1 KB · Affichages: 76
  • Déplacer.zip
    12.1 KB · Affichages: 69
  • Déplacer.zip
    12.1 KB · Affichages: 78
Dernière édition:

bqtr

XLDnaute Accro
Re : Déplacer les lignes d'une listview

Re,

Voici une autre version qui permet de mieux suivre la ligne manipulée.
Elle se met en gras.

Bonne journée
 

Pièces jointes

  • Déplacer.zip
    14.4 KB · Affichages: 103
  • Déplacer.zip
    14.4 KB · Affichages: 88
  • Déplacer.zip
    14.4 KB · Affichages: 102

Discussions similaires

Statistiques des forums

Discussions
300 874
Messages
1 987 967
Membres
210 034
dernier inscrit
adermex