Déplacer les lignes d'une listview

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
38
Affichages
888
Réponses
6
Affichages
163
Retour