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

Drag and drop entre 2 listview

aspe

XLDnaute Junior
Bonsoir à tous,

Après plusieurs essais, je n'arrive pas à transférer une sélection faite par checkbox d'une listview1 à une listview2, j'ai tenté le drag and drop sans succès, le multiselect sans succès non plus, probablement du à une mauvaise déclaration de variables. un peu d'aide serait grandement appréciée au vu du temps passé sur la recherche infructueuse de la solution.

Merci par avance.
 

Pièces jointes

  • Copie partielle forum.xlsm
    113 KB · Affichages: 115

ChTi160

XLDnaute Barbatruc
Re : Drag and drop entre 2 listview

Bonjour aspe

bonjour le fil,le forum

voila ce que j'ai mis dans le Activate du Userform Selection
puis dans le Click du commandButton5
je n'ai pas finalisé (seules Deux colonnes ajoutées dans ListView 2 du Userform Selection
Code:
Private Sub UserForm_Activate()
    Me.Caption = "Interrogation Cheptel"
  With Selection
    With .ListView1
         .CheckBoxes = True
         .AllowColumnReorder = True
     Set .Icons = ImageList1
     Set .SmallIcons = ImageList1
    End With
    With .ListView2
         .ColumnHeaders.Clear
         .ColumnHeaders.Add , , "N°", 50
         .ColumnHeaders.Add , , "Bague", 55
         .FullRowSelect = True
         .ListItems.Clear
         .View = lvwReport
    End With
  End With
    Call CBO_Fill
    Call LVW_Fill("", 0)    
End Sub

Code:
Private Sub CommandButton5_Click()
Dim lgn As Integer
Dim LstVitem As Object
    With Selection     
        For lgn = 1 To .ListView1.ListItems.Count
        Set LstVitem = .ListView1.ListItems(lgn)
          With LstVitem
          If .Checked = True Then
             Selection.ListView2.ListItems.Add , , .Text
             Selection.ListView2.ListItems(Selection.ListView2.ListItems.Count).ListSubItems.Add , , .ListSubItems(1).Text
            .Checked = False
          End If
          End With
        Next lgn
    End With    
End Sub
je n'ai pas beaucoup de temps, mais bon c 'est un debut !
Bonne journée
Amicalement
Jean Marie
 

Bebere

XLDnaute Barbatruc
Re : Drag and drop entre 2 listview

bonjour Aspe
bienvenue
1.-Quel userform,les listview même userform ou différent
2.-erreurs dans le code(excel 2003)
edit: bonjour Jean Marie
pour un début
Code:
Private Sub Form_Load()
    Dim LstItem As ListItem
    'Ajoute des items au listview1
    Set LstItem = ListView1.ListItems.Add(, , "Element1")
    Set LstItem = ListView1.ListItems.Add(, , "Element2")
    Set LstItem = ListView1.ListItems.Add(, , "Element3")
    Set LstItem = ListView1.ListItems.Add(, , "Element4")
    Set LstItem = ListView1.ListItems.Add(, , "Element5")
End Sub

Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    
    'Trouve l'item sélectionné   
    Set ListView1.SelectedItem = ListView1.HitTest(x, y)
    'Indique l'icone visible lors du déplacement
    ListView1.DragIcon = LoadPicture("C:\VB\drag.ico")
    
    'Commence le déplacement
    ListView1.Drag vbBeginDrag
End Sub

Private Sub ListView2_DragDrop(Source As Control, x As Single, y As Single)
    Dim LstItem2 As ListItem
    'Ajoute l'item déplacé dans le listview2
    Set LstItem2 = ListView2.ListItems.Add(, , Source.SelectedItem.Text)
End Sub 


 Rajoutez:
listView1.ListItems.Remove (Source.SelectedItem.Index)

Dans la procédure List_View2_DragDrop afin que l'élément soit déplacé, et non copier vers l'autre ListView...
 
Dernière édition:

aspe

XLDnaute Junior
Re : Drag and drop entre 2 listview

Bonjour ChTi160, Bebere, le forum,

Merci de vous être penché sur le fichier, j'essaie d'appliquer vos propositions et vous tiens informés.

Cordialement

Aspe
 

aspe

XLDnaute Junior
Re : Drag and drop entre 2 listview

Re,

Me voilà de retour après quelques modifications. J'arrive a transférer du listview1 au listview2, mais, car il y en a toujours un...

les données transférées n'affichent que le 1er champ "N°" et les lignes s'affichent en colonnes et sans entête de colonne dans le listview2.

J'y retourne pour essayer de comprendre le pourquoi du comment.
 
Dernière édition:

aspe

XLDnaute Junior
Re : Drag and drop entre 2 listview

Re,

J'ai enfin le transfert, les entêtes de colonnes sur le listview2, et encore le mais...

je ne transfère que les 2 premiers champs, le reste de la ligne est désespérément vide

 

Pièces jointes

  • Capture.jpg
    43.2 KB · Affichages: 220
  • Capture.jpg
    43.2 KB · Affichages: 231

aspe

XLDnaute Junior
Re : Drag and drop entre 2 listview

Merci Bebere pour tes conseils et ton aide. Au plaisir

Si quelqu'un pouvait m'aiguiller...

Le code qui coince:

 

ChTi160

XLDnaute Barbatruc
Re : Drag and drop entre 2 listview

Bonjour aspe
bonjour Bebere ,le Forum

pas évident de comprendre ce que tu veux ??????
tu dis simplement "Le code qui Coince"
mais un peu d'aide ou ,quoi ,quand ,comment, ca coince ,pas evident !!!!!!
merci de nous eclairer
comme le dit Bebere il serait bon que tu nommes tout cela (les controles) de façon plus intuitive.
 

Bebere

XLDnaute Barbatruc
Re : Drag and drop entre 2 listview

bonjour Aspe,Jean Marie
icol=-1 valeur de combobox1.listindex
essaye comme suit Mid(ComboBox1, 3) prend la valeur de l'entrée
je pense que tu devrais mettre un bouton pour valider,si tu veux entrer plus d'un caractère

Private Sub TextBox1_Change()
Call LVW_Fill(Trim$(TextBox1.Text), Mid(ComboBox1, 3))
End Sub
 

aspe

XLDnaute Junior
Re : Drag and drop entre 2 listview

Bonjour à tous,

ChTi160
Bonjour aspe
bonjour Bebere ,le Forum

pas évident de comprendre ce que tu veux ?????

Je souhaite afficher une sélection faite sur l'onglet "Cheptel" avec l'usf selection, puis renvoyer les infos "N°" sélectionnés dans l'usf "suivi sanitaire" pour y ajouter des traitements à effectuer en complétant les textbox correspondants, puis copier les infos de l'usf "suivi sanitaire" dans la feuille "sanitaire", Ensuite j'ai un autre fichier que je n'ai pas mis ici qui déclenche des rappels selon les dates, mais ça c'est une autre histoire...

Ca coince dans le sens ou les infos sélectionnées dans listview1 n'affichent que 2 colonnes dans le listview 2 et que c'est insuffisant pour effectuer un contrôle visuel avant de traiter les infos.

Bebere

J'ai testé les modifs, cela m'affiche listview et combobox vide.

je regarde de mon côté si je peux contourner le problème plutôt que s'acharner des jours et des nuits...

Encore merci à vous deux.

Cordialement
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : Drag and drop entre 2 listview

Aspe
mis une feuille excel 2003 et copier les données et le code ok
ajout code userform_initialize
pour transfert vers listview2 voir
Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
 

Pièces jointes

  • ClasseurAspe.xlsm
    118.3 KB · Affichages: 113

Si...

XLDnaute Barbatruc
Re : Drag and drop entre 2 listview

salut

pas de Drag, ça ressemble … et c’est tout comme : voir Si… ces déplacements* d’une liste à l’autre peuvent convenir.

Le fichier fourni est lourd donc je n'y touche pas.
 

Pièces jointes

  • déplacement ListView vers ListView.xlsm
    26.7 KB · Affichages: 126

aspe

XLDnaute Junior
Re : Drag and drop entre 2 listview

Merci,

Juste un message d'erreur pour Call LVW_Fill(Trim$(TextBox1.Text), Mid(ComboBox1, 3))
que j'ai réglé en passant en non modal.

Super, je vais pouvoir poursuivre...

Allez en route vers de nouvelles aventures.

et encore Merci
 

Discussions similaires

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