Recherche…


Introduction

Cette rubrique traite de l'utilisation de tables dans VBA et suppose une connaissance des tableaux Excel. Dans VBA, ou plutôt le modèle d'objet Excel, les tables sont appelées ListObjects. Les propriétés les plus fréquemment utilisées d'un objet ListObject sont ListRow (s), ListColumn (s), DataBodyRange, Range et HeaderRowRange.

Instancier un objet ListObject

Dim lo as ListObject
Dim MyRange as Range

Set lo = Sheet1.ListObjects(1)

'or

Set lo = Sheet1.ListObjects("Table1")

'or

Set lo = MyRange.ListObject

Travailler avec ListRows / ListColumns

Dim lo as ListObject
Dim lr as ListRow
Dim lc as ListColumn

Set lr = lo.ListRows.Add
Set lr = lo.ListRows(5)

For Each lr in lo.ListRows
    lr.Range.ClearContents
    lr.Range(1, lo.ListColumns("Some Column").Index).Value = 8
Next

Set lc = lo.ListColumns.Add
Set lc = lo.ListColumns(4)
Set lc = lo.ListColumns("Header 3")

For Each lc in lo.ListColumns
    lc.DataBodyRange.ClearContents   'DataBodyRange excludes the header row
    lc.Range(1,1).Value = "New Header Name"    'Range includes the header row
Next

Conversion d'une table Excel en une plage normale

Dim lo as ListObject

Set lo = Sheet1.ListObjects("Table1")
lo.Unlist


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow