TDC en VBA, comment filtrer les DATA via VBA
Résolu
reno421
Messages postés
41
Date d'inscription
Statut
Membre
Dernière intervention
-
reno421 Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
reno421 Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je sollicite votre aide pour le filtrage d'un TCD en vba. en lisant les forums, j'ai trouvé plusieurs explications. J'arrive à filtre mon TCD dur le champs "Année" mais uniquement pour une seule année :2014. Hors, je voudrais qu'il la filtre pour les années 2014 et 2015.
Comment puis-je faire. Ci-joint mon code.
D'avance merci pour votre aide
Je sollicite votre aide pour le filtrage d'un TCD en vba. en lisant les forums, j'ai trouvé plusieurs explications. J'arrive à filtre mon TCD dur le champs "Année" mais uniquement pour une seule année :2014. Hors, je voudrais qu'il la filtre pour les années 2014 et 2015.
Comment puis-je faire. Ci-joint mon code.
D'avance merci pour votre aide
Sub TCD1()
Dim wshTCD As Worksheet
Dim PvT As PivotTable
'Affectation du TCD à la feuille "TCD automatique"
Set wshTCD = Worksheets("TCD automatique")
'Supression de tous les TCD existants dans la feuille
For Each PvtTCD In wshTCD.PivotTables
PvtTCD.TableRange2.Clear
Next PvtTCD
'Ajout d'un TCD sur la feuille "TCD automatique"
Set PvtTCD = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="Consom") _
.CreatePivotTable(TableDestination:=wshTCD.Range("B2"), TableName:="TCD_EAN")
'Ajout de champs au TCD
With PvtTCD
'Ajout d'une Ligne
With .PivotFields("EAN")
.Orientation = xlPageField
.Position = 1
End With
With .PivotFields("Mois")
.Orientation = xlRowField
.Position = 1
End With
With .PivotFields("Année")
.Orientation = xlRowField
.Position = 2
End With
'Ajout d'une Colonne -> pas nécessaire dans ce cas ci
'Ajout d'une valeur de consommation
With .PivotFields("Cons. Jour (kWh)")
.Orientation = xlDataField
'.fuction = xlSum
.NumberFormat = "###.##0"
.Position = 1
End With
With .PivotFields("Cons. nuit (kWh)")
.Orientation = xlDataField
'.fuction = xlSum
.NumberFormat = "###.##0"
.Position = 2
End With
With .PivotFields("Cons. nuit (kWh)")
.Orientation = xlDataField
'.fuction = xlSum
.NumberFormat = "###.##0"
.Position = 3
End With
End With
' Application d'un filtre sur Année
With ActiveSheet
.PivotTables("TCD_EAN").PivotFields("Année").ClearAllFilters
.PivotTables("TCD_EAN").PivotFields("Année").PivotFilters.Add _
Type:=xlCaptionEquals, Value1:="2014"
End With
' Remplacez "AAAA" par nom_de_la_feuille.TextBox1.Value ou nom_de_userform.TextBox1.Value ou suivant l 'endroit ou vous lancez ce code, il faudra peut-etre passer par une variable Public:
'Ajout d'un graphique
ActiveSheet.Shapes.AddChart.Select ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("'TCD automatique'!$B$3:$E$56")
ActiveChart.ChartType = xl3DColumnStacked100
ActiveChart.ChartType = xl3DColumnStacked
End Sub
A voir également:
- TDC en VBA, comment filtrer les DATA via VBA
- App data - Guide
- Incompatibilité de type vba ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Vba autofill ✓ - Forum Excel