1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Sub Macro1()
'
' Macro1 Macro
'
'
Dim ValAConserver(1 To 4) As String
ValAConserver(1) = "1"
ValAConserver(2) = "12"
ValAConserver(3) = "13"
ValAConserver(4) = "16"
ValOK = "13"
Range("A1:C5").Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil1!R1C1:R5C3", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil1!R1C6", TableName:="Tableau croisé dynamique1", _
DefaultVersion:=xlPivotTableVersion12
Sheets("Feuil1").Select
Cells(1, 6).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("toto")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("titi")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("tata"), "Somme de tata", _
xlSum
For i = 1 To 4
If ValOK <> ValAConserver(i) Then
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("titi").PivotItems(ValAConserver(i)).Visible = False
End If
Next
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("titi").PivotItems(ValOK).Visible = True
End Sub |
Partager