Some assumptions since there was no workbook attached (hint, hint)
1. Not _SelectionChange, use _Change
2. You need to find the PT's source data, and see if any of those cells changed
3. Turn off EnableEvents while the PT refreshes, then turn them back on
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ptCacheIndex As Long
Dim ptSourceData As String
Dim ptSourceRange As Range
Dim n As Long
ptCacheIndex = PivotTables("PTWeeks").CacheIndex
ptSourceData = ActiveWorkbook.PivotCaches(ptCacheIndex).SourceData
n = InStrRev(ptSourceData, "!")
ptSourceData = Right(ptSourceData, Len(ptSourceData) - n)
ptSourceData = Application.ConvertFormula(Formula:=ptSourceData, fromReferenceStyle:=xlR1C1, toReferenceStyle:=xlA1)
Set ptSourceRange = Range(ptSourceData)
If Intersect(Target, ptSourceRange) Is Nothing Then Exit Sub
Application.EnableEvents = False
PivotTables("PTWeeks").RefreshTable
Application.EnableEvents = True
End Sub
This could probably be simplified a little