Re,
Lol ! cela me fait penser à une solution que je propose souvent celle-là..
Pour répondre à ta question : si tu déplaces ton TCD, la référence ne sera pas prise compte. sauf si tu attribues un nom à H17 (via menu/insertion/nom/définir) et que tu le places dans ta macro.
Exemple : $H$17 = Plage
puis :
Private Sub Worksheet_Activate()
Set pvtTable = Worksheets("BOM PROJECT").Range("Plage").PivotTable
pvtTable.RefreshTable
End Sub
Sinon essaye :
Private Sub Worksheet_Activate()
ThisWorkbook.RefreshAll
End sub
ou essaye aussi
Private Sub Worksheet_Activate()
Dim Tcd As PivotTable
Tcd.RefreshTable
End Sub
Ces deux dernières solutions sont intéressantes si tu as plusieurs TCD
A bientôt
Dan