Classe PivotTables (Excel VBA)
Collection de tous les objets PivotTable dans le classeur spécifié. Pour utiliser une variable de classe PivotTables, elle doit d'abord être instanciée, par exemple
Dim pts as PivotTables
Set pts = ActiveSheet.PivotTables()
For Each
Voici un exemple de traitement des éléments PivotTables dans une collection
Dim pvt As PivotTable
For Each pvt In Application.PivotTables
Next pvt
Add
Cette méthode ajoute un nouveau rapport de tableau croisé dynamique. Elle renvoie un objet PivotTable.
Add (PivotCache, TableDestination, TableName, ReadData, DefaultVersion)
Dim cnnConn As ADODB.Connection
Dim rstRecordset As ADODB.Recordset
Dim cmdCommand As ADODB.Command
' Open the connection.
Set cnnConn = New ADODB.Connection
With cnnConn
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0"
.Open "C:\perfdate\record.mdb"
End With
' Set the command text.
Set cmdCommand = New ADODB.Command
Set cmdCommand.ActiveConnection = cnnConn
With cmdCommand
.CommandText = "Select Speed, Pressure, Time From DynoRun"
.CommandType = adCmdText
.Execute
End With
' Open the recordset.
Set rstRecordset = New ADODB.Recordset
Set rstRecordset.ActiveConnection = cnnConn
rstRecordset.Open cmdCommand
' Create PivotTable cache and report.
Set objPivotCache = ActiveWorkbook.PivotCaches.Add( _
SourceType:=xlExternal)
Set objPivotCache.Recordset = rstRecordset
ActiveSheet.PivotTables.Add _
PivotCache:=objPivotCache, _
TableDestination:=Range("A3"), _
TableName:="Performance"
With ActiveSheet.PivotTables("Performance")
.SmallGrid = False
With .PivotFields("Pressure")
.Orientation = xlRowField
.Position = 1
End With
With .PivotFields("Speed")
.Orientation = xlColumnField
.Position = 1
End With
With .PivotFields("Time")
.Orientation = xlDataField
.Position = 1
End With
End With
' Close the connections and clean up.
cnnConn.Close
Set cmdCommand = Nothing
Set rstRecordSet = Nothing
Set cnnConn = Nothing
Arguments
Les arguments nommés :
PivotCache (PivotCache) - Cache de tableau croisé dynamique sur lequel repose le nouveau rapport de tableau croisé dynamique. Le cache fournit les données nécessaires au rapport.
TableDestination (PivotTables) - Cellule située dans le coin supérieur gauche de la plage de destination du rapport de tableau croisé dynamique (plage de la feuille de calcul destinée à recevoir le rapport obtenu). Vous devez spécifier une plage de destination sur la feuille de calcul qui contient l'objet PivotTables spécifié par expression.
Optional arguments
Les arguments suivants sont facultatifs
TableName (String) - Nom du nouveau rapport de tableau croisé dynamique.
ReadData (Boolean) - True pour créer un cache de tableau croisé dynamique contenant tous les enregistrements issus de la base de données externe ; ce cache peut être très volumineux. False pour autoriser la définition de certains champs en tant que champs de page reposant sur un serveur avant que les données soient effectivement lues.
DefaultVersion - Version de Microsoft Excel dans laquelle le tableau croisé dynamique a été initialement créé
Count
Cette propriété renvoie une valeur de type Long qui représente le nombre d’objets de la collection.
Dim lngCount As Long
lngCount = ActiveSheet.PivotTables.Count
Item
Cette méthode renvoie un seul objet d'une collection.
Le nom de l’objet est la valeur des propriétés Name et value .
Item (Index)
Index: Nom ou numéro d'index de l'objet.
Dim pvt As PivotTable
Set pvt = ActiveSheet.PivotTables(Index:=1)