Sub SélectionnerTableau()
Dim cel As Range, tcd, tcdsel As Range, x As Range
On Error Resume Next
Set cel = Range(Selection.Address)
If cel Is Nothing Then Exit Sub
Set cel = ActiveCell
For Each tcd In ActiveSheet.PivotTables
tcd.PivotSelect "", xlDataAndLabel, True
If Not Intersect(Selection, cel) Is Nothing Then Exit Sub
Next tcd
Set x = cel.ListObject.Range
If Not x Is Nothing Then x.Select: Exit Sub
cel.CurrentRegion.Select
End Sub