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
| Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sh As Worksheet
Dim Pt As PivotTable
If Target.Address = "$D$1" Then
For Each Sh In Worksheets
If InStr("currency received country|currency sent country|Country to region|Focus on georegion|Corridor sent|currency distribution|Corridor received|TOP 10 MT|TOP 5 currency Market share|Reciprocity volume|Reciprocity value", Sh.Name) > 0 Then 'Ici on applique le code seulement aux feuilles Feuil1, Feuil3 et Feuil7 (à adapter)
For Each Pt In Sh.PivotTables
If Existe(Pt, "Current BIC8 country") Then
With Pt.PivotFields("Current BIC8 country")
.ClearAllFilters
.CurrentPage = Target.Value
End With
End If
Next Pt
End If
Next Sh
End If
End Sub
Private Function Existe(ByVal Pv As PivotTable, ByVal Str As String)
Dim Pf As PivotField
For Each Pf In Pv.PivotFields
Debug.Print Pf.Name
If Pf.Name = Str Then
Existe = True
Exit For
End If
Next Pf
End Function |
Partager