Bonjour,
J'essaye de programmer une listview dans un userform mais je galère !
Et ce que quelqu'un peut m'aider ?
Voici le code que j'ai essayé de compléter :
Et j'ai rien qui s'affiche dans ma listview ...
Voici à quoi ressemble mon tableau :
J'ai 306 lignes à mon tableau (et cela peut varier)
Merci pour votre aide
J'essaye de programmer une listview dans un userform mais je galère !
Et ce que quelqu'un peut m'aider ?
Voici le code que j'ai essayé de compléter :
Code:
'Déclaration de la variable "LIGNE"
Dim LIGNE As Integer
'Pour le formulaire
Private Sub UserForm2_Initialize()
Dim i As Integer
Dim j As Integer
'------------------------------------------------------------
' création du listview
Dim rg As Range
Dim n As Integer
ListView1.ListItems.Clear
Set rg = [A1] 'ligne avec les titres
n = 4 'nb de colonnes de données
With Me.ListView1
'ajout des titres de colonnes
For i = 1 To n
If i = 1 Then
.ColumnHeaders.Add , , rg.Offset(0, i - 1), 75
End If
If i = 2 Then
.ColumnHeaders.Add , , rg.Offset(0, i - 1), 75
End If
If i = 3 Then
.ColumnHeaders.Add , , rg.Offset(0, i - 1), 75
End If
If i = 4 Then
.ColumnHeaders.Add , , rg.Offset(0, i - 1), 75
End If
Next i
'ajout des éléments de la 1re colonne
Set rg = [A2] '1re ligne avec les données
' Suite
For j = 2 To Worksheets("Année").[A65536].End(xlUp).Row
If Worksheets("Année").Range("A" & j) <> "" Then
.ListItems.Add , , rg
'ajout des éléments des autres colonnes
For i = 1 To n
.ListItems(rg.Row - 1).ListSubItems.Add , , rg.Offset(0, i)
Next i
Set rg = rg.Offset(1, 0) 'prochaine ligne
End If
Next j
.FullRowSelect = True 'permet de choisir une ligne complète
.MultiSelect = True 'permet de sélectionner plusieurs lignes
.View = lvwReport 'format d'affichage des données
End With
'Tri de la ListView
ListView1.Sorted = False
ListView1.SortKey = 1
ListView1.SortOrder = lvwAscending
ListView1.Sorted = True
End Sub
Private Sub UserForm_Click()
End Sub
Et j'ai rien qui s'affiche dans ma listview ...
Voici à quoi ressemble mon tableau :
J'ai 306 lignes à mon tableau (et cela peut varier)
Merci pour votre aide