Microsoft 365 Configuration d'une ListView

TCHIS

XLDnaute Occasionnel
VB:
'***********************************************************************
'***********************************************************************
'Code permettant d'initailiser ma listview au démarrage de mon USF
'***********************************************************************
'***********************************************************************
      'Déclaration de variable
      Dim j As Integer
    Me.ListView1.View = lvwReport
    For j = 1 To Range("xfdl").End(xlToLeft).Column
    Me.ListView1.ColumnHeaders.Add , , Cells(2, j)
    Next j
     '*******************************************************************
     'Suite du code pour remplir les cellules (Cellule de la première colonne: Colonne N°)
     '*******************************************************************
            'Déclaration de variable
    Dim i As Integer
    Dim x As ListItem

Bonsoir pourriez-vous jettez un coup d'euil s'il vous plait à mon code
Au-dessus j'ai un code que j'applique afin d'initialiser ma ListView
je suis coincé par ce que quand je lance le USF ça me sort Erreur la méthode 'Range' de l'objet_Global a échoué (Erreur 1004) .
Cette partie de ce code est pour permettre à ce que la ListView affiche dans sa première colonne les données de mon tableau source situé dans la première colonne de ce meme tableau (Source)
 

patricktoulon

XLDnaute Barbatruc
dans cet exemple
je fait le header du listview avec le header du tableau structuré
et je donne la meme largeur aux colonne que la source
VB:
'exemple pour un tableau structué
Private Sub UserForm_Activate()
    Dim rngHeader As Range 'meme pour un tableau structuré!!!!!!!!!!
    Set rngHeader = Range("tableau1[#headers]")
    initListviewHeader rngHeader
End Sub

Function initListviewHeader(rngHeader As Range)
    ligneheader = rngHeader.Value
    With ListView1
        For col = 1 To UBound(ligneheader, 2)
            .ColumnHeaders.Add , , ligneheader(1, col), rngHeader(1, col).Width
        Next
        'option
        .Gridlines = True: .BorderStyle = ccFixedSingle: .FullRowSelect = True: .View = lvwReport
    End With
End Function

demo.gif


et si ce tableau n'etait pas un tableau structuré
le meme avec un range
VB:
Set rngHeader = Range("B2", Cells(2, Columns.Count).End(xlToLeft))
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 115
Messages
2 085 451
Membres
102 889
dernier inscrit
monsef JABBOUR