Bonjour,
Une proposition à adapter.
Cdlt.
Private Sub ProtectionPivotTable(bln As Boolean)
'Au lieu de . PivotFields, vous pouvez utiliser . RowFields, . ColumnFields ou . Pagefields
Dim pf As PivotField
On Error Resume Next
With ActiveSheet.PivotTables(1)
.EnableDrilldown = bln
.EnableFieldList = bln
.EnableFieldDialog = bln
'.PivotCache.EnableRefresh = bln
For Each pf In .PivotFields
With pf
.DragToPage = bln
.DragToRow = bln
.DragToColumn = bln
.DragToData = bln
.DragToHide = bln
End With
Next pf
End With
End Sub
Public Sub RestrictPivottable()
ProtectionPivotTable False
End Sub
Public Sub AllowPivottable()
ProtectionPivotTable True
End Sub