Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

christian.bedere

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

Salut Cibleo

Et merci pour l'intérêt apporté à mon post.
Malheureusement, en appliquant le code de la listbox à la listview, cela ne colle pas
Je poursuis les recherches.
Merci bcp !
Kiki
 

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:

christian.bedere

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

Bonjour Pierre-Olivier


MERCI !!

Je crois que ce n'est pas la première fois que vous volez à mon secours et j'en suis ravi
Impeccable cela fonctionne à merveille

Encore merci et belle journée à vous

Kiki
 

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: 105
  • Déplacer.zip
    14.4 KB · Affichages: 88
  • Déplacer.zip
    14.4 KB · Affichages: 102

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…