Sub Macro3()
Dim i As Byte, j As Byte
Dim max
'boucle sur tout les tcd de la feuille
For i = 1 To ActiveSheet.PivotTables.Count
'avec le tcd d'index i
With ActiveSheet.PivotTables(i)
'rafraichi le TCD
.PivotCache.Refresh
'avec le 'champs' date de ce tcd
With .PivotFields('DATE')
'pour chaque élément de ce champ
'de 1 jusqu'au dernier (pivotitems.count)
For j = 1 To .PivotItems.Count
'si la valeur de cet élément est plus grand que le max, alors
'le max=la valeur de cet élément
If max < .PivotItems(j) Then max = .PivotItems(j)
Next j
'la plage active doit etre celle du max
.CurrentPage = max
End With
End With
Next i
End Sub