Sub TCD()
Dim obj As PivotItem
Dim strValeur As String
' on considère que le champ X est placé en zone Page
With ActiveSheet.PivotTables("Tableau croisé dynamique1")
' récupérer la valeur du premier élément du champ X
strValeur = .PivotFields("X").PivotItems(1).Name
' remplacer All par le premier élément du champ
.PivotFields("X").CurrentPage = strValeur
End With
End Sub