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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| Sub ChampsTCD()
Dim n As Integer
Dim m As Integer
Dim PT As PivotTable
Dim PF As PivotField
Dim PFnom As String
Dim ChAxe() As String
Dim ChVal() As String
n = 0
m = 0
Set PT = Worksheets("Feuil2").PivotTables("tcd1")
For Each PF In PT.PivotFields
If PT.PivotFields(PF.Name).Orientation = xlColumnField _
Or PT.PivotFields(PF.Name).Orientation = xlRowField Then
n = n + 1
ReDim Preserve ChAxe(1 To n)
ChAxe(n) = PF.Name
ElseIf PT.PivotFields("Somme de " & PF.Name).Orientation = xlDataField Then
m = m + 1
ReDim Preserve ChVal(1 To m)
ChVal(m) = "Somme de " & PF.Name
ElseIf PT.PivotFields("Nombre de " & PF.Name).Orientation = xlDataField Then
m = m + 1
ReDim Preserve ChVal(1 To m)
ChVal(m) = "Nombre de " & PF.Name
ElseIf PT.PivotFields("Moyenne de " & PF.Name).Orientation = xlDataField Then
m = m + 1
ReDim Preserve ChVal(1 To m)
ChVal(m) = "Moyenne de " & PF.Name
ElseIf PT.PivotFields("Max. de " & PF.Name).Orientation = xlDataField Then
m = m + 1
ReDim Preserve ChVal(1 To m)
ChVal(m) = "Max de " & PF.Name
ElseIf PT.PivotFields("Min. de " & PF.Name).Orientation = xlDataField Then
m = m + 1
ReDim Preserve ChVal(1 To m)
ChVal(m) = "Min de " & PF.Name
ElseIf PT.PivotFields("Produit de " & PF.Name).Orientation = xlDataField Then
m = m + 1
ReDim Preserve ChVal(1 To m)
ChVal(m) = "Produit de " & PF.Name
End If
Next PF
End Sub |
Partager