Programmer Listview

coco.c

XLDnaute Nouveau
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 :

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 :

Tableau excel.PNG

J'ai 306 lignes à mon tableau (et cela peut varier)


Merci pour votre aide
 

Pièces jointes

  • Tableau excel.PNG
    Tableau excel.PNG
    21.7 KB · Affichages: 45
  • Tableau excel.PNG
    Tableau excel.PNG
    21.7 KB · Affichages: 55

Papou-net

XLDnaute Barbatruc
Re : Programmer Listview

Bonsoir coco.c,

Sans fichier exemple, difficile de t'aider.

Toutefois, une première lecture de ton code me pousse à te proposer de simplifier la boucle i :

Code:
For i = 1 To n
    .ColumnHeaders.Add , , rg.Offset(0, i - 1), 75
Next i
Pour le reste, c'est peut-être dû à un mauvais réglage des propriétés de ListView1. Ca ne pourra se vérifier qu'avec une copie (anonymisée) de ton fichier.

A +

Cordialement.
 

Discussions similaires

Réponses
6
Affichages
202

Statistiques des forums

Discussions
311 720
Messages
2 081 886
Membres
101 830
dernier inscrit
sonia poulaert