Bonsoir,
Je tente de charger une listview via un code vba. Cette listview doit être alimenter par un tableau disponible dans une feuille Excel. J'ai mis une variable pour sélectionner la feuille mais ce n'est pas celle-ci qui est utilisée mais celle présente dans l'onglet sélectionné. Ai-je fait une erreur ?
Merci
VB:
Private Sub UserForm_Initialize()
Call AlimenterLv
End Sub
Sub AlimenterLv()
Dim f As Worksheet
Dim Lr As Long
Dim Ligne As Integer
Dim j As Integer
Dim i As Integer
Set f = ThisWorkbook.Sheets("BD")
With Me.ListView1
.ListItems.Clear
With .ColumnHeaders
.Clear
For j = 1 To Range("xfd1").End(xlToLeft).Column
.Add , , Cells(1, j)
Next j
End With
.View = lvwReport
.Gridlines = True
.FullRowSelect = True
Lr = f.Range("A" & Rows.count).End(xlUp).Row
If Lr = 2 Then Exit Sub
End With
Set f = Nothing
End Sub
Bonsoir Doudel,
Si c'est la boucle For Next qui alimente votre listview, alors l'erreur vient du fait que vous ne référencez pas la feuille d'origine. A essayer :
VB:
Set f = ThisWorkbook.Sheets("BD")
With Me.ListView1
.ListItems.Clear
With .ColumnHeaders
.Clear
For j = 1 To f.Range("xfd1").End(xlToLeft).Column
.Add , , f.Cells(1, j)
Next j
End With
End Sub
Cells(1, j) fait référence à la feuille active
f.Cells(1, j) fait référence à la feuille "BD"
Bonsoir
tu as documenté les en-tête des colonnes de la listview mais pas les item et les subItem
Chaque ligne d'une ListView peut être définie en 2 parties:
ListView1.ListItems(x) spécifie la ligne x et la 1ere colonne de cette ligne.
ListView1.ListItems(x).ListSubItems(y) permet de spécifier les colonnes adjacentes. Par exemple ListView1.ListItems(5).ListSubItems(1) indique la 2eme colonne dans la 5eme ligne de la ListView.
Bonsoir Doudel,
Si c'est la boucle For Next qui alimente votre listview, alors l'erreur vient du fait que vous ne référencez pas la feuille d'origine. A essayer :
VB:
Set f = ThisWorkbook.Sheets("BD")
With Me.ListView1
.ListItems.Clear
With .ColumnHeaders
.Clear
For j = 1 To f.Range("xfd1").End(xlToLeft).Column
.Add , , f.Cells(1, j)
Next j
End With
End Sub
Cells(1, j) fait référence à la feuille active
f.Cells(1, j) fait référence à la feuille "BD"
Bonsoir
tu as documenté les en-tête des colonnes de la listview mais pas les item et les subItem
Chaque ligne d'une ListView peut être définie en 2 parties:
ListView1.ListItems(x) spécifie la ligne x et la 1ere colonne de cette ligne.
ListView1.ListItems(x).ListSubItems(y) permet de spécifier les colonnes adjacentes. Par exemple ListView1.ListItems(5).ListSubItems(1) indique la 2eme colonne dans la 5eme ligne de la ListView.
Je vais tenter d'améliorer mon code et de vous envoyer un fichier complet. Je cherche également à mettre un filtre sur une colonne afin de n'afficher que les lignes correspondantes