rafou29
XLDnaute Junior
Bonjour,
J'utilise un TCD qui me permet de traiter mes données situées dans les colonnes A à F de mon onglet Excel. Mon problème est qu'il m'arrive de filtrer les données de mes colonnes or mon TCD prend quand même en compte les données cachées alors que ça m'arrangerait qu'il ne somme que les valeurs VISIBLES !
Pour créer mon TCD, j'ai utilisé l'enregistreur de macro et j'ai obtenu le code (pas très élégant) suivant :
Je pense que la solution à mon problème se trouve au niveau :
en y combinant un code type :
mais je n'arrive pas à trouver le code correct et c'est pour cela que j'espère que quelqu'un saura me tirer de ce mauvais pas !
Merci de votre attention !
PS: Il s'agirait de faire l'équivalent de la fonction SOUS-TOTAL mais en code VBA et impossible de trouver cet équivalent sur Internet ...
J'utilise un TCD qui me permet de traiter mes données situées dans les colonnes A à F de mon onglet Excel. Mon problème est qu'il m'arrive de filtrer les données de mes colonnes or mon TCD prend quand même en compte les données cachées alors que ça m'arrangerait qu'il ne somme que les valeurs VISIBLES !
Pour créer mon TCD, j'ai utilisé l'enregistreur de macro et j'ai obtenu le code (pas très élégant) suivant :
PHP:
Private Sub CommandButton63_Click()
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Volume_consommé!R1C1:R65536C5", Version:=xlPivotTableVersion10). _
CreatePivotTable TableDestination:="Volume_consommé!R30C11", TableName:= _
"PivotTable2", DefaultVersion:=xlPivotTableVersion10
Sheets("Volume_consommé").Select
Cells(30, 11).Select
ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables( _
"PivotTable2").PivotFields("V consommé"), "Sum of V consommé", xlSum
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Type")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Nom")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Taille")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Fournisseur")
.Orientation = xlPageField
.Position = 1
End With
Je pense que la solution à mon problème se trouve au niveau :
PHP:
"Sum of V consommé", xlSum
en y combinant un code type :
PHP:
xlCellTypeVisible
mais je n'arrive pas à trouver le code correct et c'est pour cela que j'espère que quelqu'un saura me tirer de ce mauvais pas !
Merci de votre attention !
PS: Il s'agirait de faire l'équivalent de la fonction SOUS-TOTAL mais en code VBA et impossible de trouver cet équivalent sur Internet ...