Bonjour,
En adaptant un exemple trouvé ici sur Internet j’ai écrit le code ci-joint pour remplir une Listbox de formulaire avec plusieurs colonnes à partir de Tableaux Structurés.
Si celui-ci marche à merveille pour la partie "Databodyrange", il me pose 2 problèmes
1) Je ne comprends pas bien ce que fait la fonction Evaluate
2) J’ai essayé en vain d’adapter le code pour la ligne des titres de colonnes en créant une ListBox dédiée (j’imagine qu’il faut utiliser HeaderRowRange voire Range au lieu du DataBodyRange mais sans succès …..)
Quelqu’un peut-il m’aider, sinon m’éclairer ?
Merci d’avance
[CODE]Private Sub UserForm_Initialize()
Set ts_Recap = Sommaire.Range("tbl_Recap").ListObject
ColVisu = Array(4, 3, 2, 8)
LargeurCol = Array(140, 80, 150, 40)
Me.lstboxContrats.ColumnCount = UBound(ColVisu) + 1
Me.lstboxContrats.ColumnWidths = Join(LargeurCol, ";")
Me.lstboxContrats.List = Application.Index(ts_Recap.DataBodyRange, Evaluate("Row(1:" & ts_Recap.ListRows.Count & ") "), ColVisu)
Me.lstboxTitres.ColumnCount = UBound(ColVisu) + 1
Me.lstboxTitres.ColumnWidths = Join(LargeurCol, ";")
Me.lstboxTitres.List = Application.Index(Sommaire.ListObjects("tbl_Recap").HeaderRowRange, Evaluate("Row(1:2)"), ColVisu)
'Me.lstboxTitres.List = Application.Index(Sommaire.ListObjects("tbl_Recap").Range, Evaluate("row(1:2"), ColVisu) '"row(1:1)"), ColVisu)
Set ts_Recap = Nothing
End Sub/CODE]







Répondre avec citation







Partager