Copier dans une feuille les lignes sélectionnez dans la listview

cpeens

XLDnaute Occasionnel
Bonjour à tous je recherche depuis ce matin une solution qui me permetrais de copier grace à un bouton les lignes sélectionnez d'une listview.

j'arrive à faire la multi selection mais en ce qui concerne la copie il ne me copie qu'une ligne

Code:
With Worksheets("Feuil1")
Nl = [Feuil4].Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
 .Cells(Nl, 1).Value = ListView1.SelectedItemListSubItems(1).Text
End With

comment puis je faire pour qu'il copie ma sélection dans ma listview merci d'avance
 

Mytå

XLDnaute Occasionnel
Re : Copier dans une feuille les lignes sélectionnez dans la listview

Salut le forum

Tu dois boucler sur les Items sélectionnés
Code:
Dim i As Integer

For i = 1 To ListView1.ListItems.Count
    'Affiche le contenu de la 1ere colonne pour chaque ligne sélectionnée
    If ListView1.ListItems(i).Selected = True Then _
                    MsgBox ListView1.ListItems(i).Text
Next i
Mytå
 

cpeens

XLDnaute Occasionnel
Re : Copier dans une feuille les lignes sélectionnez dans la listview

bonjour Myta j'ai adapter ton code mais il me fais toujour la meme chose il ne me copie que la premiere selection

Code:
With Worksheets("Feuil1")

Dim i As Integer
Nl = [Feuil4].Range("A" & Cells.Rows.Count).End(xlUp).Row + 1

For i = 1 To ListView1.ListItems.Count
    'Affiche le contenu de la 1ere colonne pour chaque ligne sélectionnée
    If ListView1.ListItems(i).Selected = True Then _
                    .Cells(Nl, 1).Value = ListView1.ListItems(i).Text
Next i



End With

avec le msgbox ok mais pas avec une cellule

tu peut me dire pourquoi cela
 

YANN-56

XLDnaute Barbatruc
Re : Copier dans une feuille les lignes sélectionnez dans la listview

Bonsoir Cpeens, Mytå, et à ceux qui passeront par là,

Le secret des secrets est le mettre dans le "Tag" des Items ou des SubItems,
le numéro de la ligne où l'on a pompé les Cellules, voire l'adresse du Fichier.

Amicalement,

Yann
 

CHALET53

XLDnaute Barbatruc
Re : Copier dans une feuille les lignes sélectionnez dans la listview

bonsoir à tous,

Ce que je crois comprendre de ce que te propose Yann
tu as défini ta listview avec des entêtes de colonnes. Ensuite tu vas chercher les données dans une feuille pour alimenter ta listview. Il te propose de rajouter une colonne dans laquelle tu mettrais le numéro de ligne de ta feuille Excel où se trouvent tes données.
Ensuite quand tu cliques sur une ligne de ta listview, tu récupères le numéro de ligne (qui figurera sans doute dans ta dernière colonne)
et tu vas chercher les données dans ta feuille EXcel sur cette ligne

Est-ce clair ?
 

Mytå

XLDnaute Occasionnel
Re : Copier dans une feuille les lignes sélectionnez dans la listview

Re le forum

Essaye d'inclure ton Nl (Nouvelle Ligne) dans la boucle
Code:
Nl = [Feuil4].Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
car tu écris toujours sur la même ligne
Code:
.Cells(Nl, 1).Value = ListView1.ListItems(i).Text
Mytå
 

cpeens

XLDnaute Occasionnel
Re : Copier dans une feuille les lignes sélectionnez dans la listview

Re bonjour à vous deux merci pour votre aide dans un soucis de comprehensibiliter j'ai opter pour la solution Myta en revanche pour completer mes questions si je veux ajouter les autre colonne de ma listview comment dois je proceder svp j'ai essayer ceci
.Cells(Nl, 1).Value = ListView2.ListItems(i).Text
.Cells(Nl, 2).Value = ListView2.ListItems(i).ListSubItems(1).Text

mais sa fonctionne pas du tout sa me copie le tout
 

CHALET53

XLDnaute Barbatruc
Re : Copier dans une feuille les lignes sélectionnez dans la listview

Autant pour moi : Commandbutton

Private Sub CommandButton1_Click()
'Stop
Range("K1:M10").ClearContents
With ListView1
For i = 1 To ListView1.ListItems.Count
If .ListItems(i).Selected = True Then
Cells(i + 1, 11).Value = ListView1.ListItems(i).Text
For k = 1 To 2
Cells(i + 1, k + 11).Value = ListView1.ListItems(i).ListSubItems(k).Text
Next k
End If
Next
'Stop
End With
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 040
Membres
102 764
dernier inscrit
nestu