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

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 :



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


Merci pour votre aide
 

Pièces jointes

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

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
3
Affichages
99
Réponses
11
Affichages
292
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…