UserForm2.maTextBox1.Text = maListView1.ListView1.ListItems(2).Text UserForm2.maTextBox2.Text = maListView1.ListView1.ListItems(2).SubItems(1)A toi de définir le n° de l'item sélectionné et de lister les SubItems présents
maListView1.ListView1.ListItems(2).Text = UserForm2.maTextBox1.Text maListView1.ListView1.ListItems(2).SubItems(1) = UserForm2.maTextBox2.Text
Dim frmParam As UserForm2 Load frmParams With frmParams .maTextBox1.Text = ListView1.ListItems... .maTextBox2.Text = ListView1.ListItems... ' Affiche et attend que la forme soit rendue "Hide" .Show ' La forme est Hide : on mémorise ListView1.ListItems... = .maTextBox1.Text ListView1.ListItems... = .maTextBox2.Text End With Unload frmParams
Option Explicit Private Sub UserForm_Click() Call FillListView(Range("A1:D30")) End Sub Private Sub FillListView(SourceRange As Range) Dim lvItem As ListItem Dim NbSubItems As Long Dim r As Long Dim t As Long ' Nombre de SubItem (derrière l'item principal) NbSubItems = SourceRange.Columns.Count - 1 ' SubItem 1 sera colonne 2 With ListView1 .View = lvwReport .LabelEdit = lvwManual .FullRowSelect = True .ListItems.Clear If .ColumnHeaders.Count < NbSubItems Then For r = .ColumnHeaders.Count To NbSubItems ' On suppose que la 1ère ligne = titre .ColumnHeaders.Add , , SourceRange.Cells(1, r + 1).Value Next r End If For r = 2 To SourceRange.Rows.Count ' Item = 1ère colonne Set lvItem = .ListItems.Add(, , SourceRange.Cells(r, 1).Value) ' Colonnes suivantes = SubItems 1 à x For t = 1 To NbSubItems lvItem.SubItems(t) = SourceRange.Cells(r, 1 + t).Value Next t Next r End With End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question