Tableaux
1 | Déclaration d'un Tableau
Dim tblvente As ListObject2 | Affectation d'un Tableau
Le Tableau existe déjà
Vous devez savoir dans quelle feuille se trouve le Tableau.
On pointe vers le Tableau par son numéro :
Set tblVente = VariableFeuille.ListObjects(1)Ou avec son nom
Set tblVente = VariableFeuille.ListObjects("tblvente")Le Tableau doit être créé
Crée un Tableau incluant les cellules autour de la cellule A1 de la feuille active:
Set tblVente = ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1").CurrentRegion, , xlYes)3 | Manipulation d'un Tableau
Tableau
Nommer
VariableTableau.Name = "tblVente"Convertir en plage
VariableTableau.UnlistTrier un Tableau
VariableTableau.Sort.SortFields.Clear
VariableTableau.Sort.SortFields.Add Key:=Range("tblVente[[#Headers],[#Data],[Zone]]"), SortOn:= xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With VariableTableau.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End WithParcourir des lignes
Dim VariableLigne As ListRow
For Each VariableLigne In VariableTableau.ListRows
Debug.Print VariableLigne.Range.Columns(1)
NextAfficher la ligne Total
VariableTableau.ShowTotals = True
VariableTableau.ListColumns("TTC").TotalsCalculation = xlTotalsCalculationSumFiltrer un Tableau
Enlève le filtre :
VariableTableau.Range.AutoFilter Field:=3Place le filtre :
VariableTableau.Range.AutoFilter Field:=3, Criteria1:="=1", Operator:=xlAndLignes
Ajouter une ligne
Dim NewLine As ListRow
Set NewLine = tblVente.ListRows.AddÉcrire une ligne
Le Tableau comporte les colonnes Zone et CA. On souhaite ajouter une ligne :
Dim NewLine As ListRow
NewLine.Range.Cells(, tblVente.ListColumns("Zone").Index).Value = "Zone1"
NewLine.Range.Cells(, tblVente.ListColumns("CA").Index).Value = "50"On peut aussi désigner une cellule de la nouvelle ligne par son numéro :
NewLine.Range.Colums(1).Value = "Zone1"
NewLine.Range.Colums(2).Value = "50"Supprimer une ligne
Supprimer la ligne 5 :
tblVente.ListRows(5).DeleteEffacer toutes les lignes
Supprimer toutes les lignes de données :
If Not tblVente.DataBodyRange Is Nothing Then
tblVente.DataBodyRange.Delete
End ifNotez qu’il reste toujours une ligne vide mais les formules ne sont pas supprimées : quand vous collerez ou saisirez des données dans le Tableau, les formules seront propagées dans les colonnes calculées.
Colonnes
Créer une colonne
Dim NewCol As ListColumn
Set NewCol = tblVente.ListColumns.Add
NewCol.Name="TTC"
NewCol.DataBodyRange.Cells(1) = "=[@CA]*1.196"Supprimer une colonne
Supprimer la colonne "CA"
tblVente.ListColumns("CA").DeleteSupprimer la colonne 5
tblVente.ListColumns(5).DeleteFormate une colonne
Appliquer un format Date
VariableTableau.ListColumns("CA").DataBodyRange.NumberFormat = "m/d/yyyy"Appliquer un format Pourcentage
VariableTableau.ListColumns("CA").DataBodyRange.NumberFormat = "0.00%"Appliquer un format Nombre avec séparateur de miliers
VariableTableau.ListColumns("CA").DataBodyRange.NumberFormat = "#,##0.00"Résumé


