Private Sub Worksheet_Change(ByVal Target As Range)
'Si changement cellule D2 alors
If Not Intersect(Target, Range("D2")) Is Nothing Then
Dim Pt As PivotTable
For Each Pt In Worksheets("Feuil3").PivotTables
With Pt.PivotFields("CODEGEO")
.ClearAllFilters
.EnableMultiplePageItems = True
For Each codegeo In .PivotItems
OK = False
For i = 2 To PivotTables(1).RowRange.Cells.Count
If codegeo.Value = PivotTables(1).RowRange.Cells(i, 1).Text Then OK = True : Exit For
Next i
If OK = False Then codegeo.Visible = False
Next
End With
Next Pt
End If
End Sub