Option Explicit
Sub TCD()
ActiveWorkbook.Names.Add Name:="Base_TCD", RefersToR1C1:="=OFFSET(Data!R11C1:R65000C14,,,COUNTA(Data!C1))"
On Error Resume Next
Application.DisplayAlerts = 0
Sheets("TCD").Delete
Application.DisplayAlerts = 1
Sheets.Add
ActiveSheet.Name = "TCD"
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Base_TCD", Version:=xlPivotTableVersion15).CreatePivotTable _
TableDestination:="TCD!R3C1", TableName:="TCD1"
With ActiveSheet.PivotTables("TCD1").PivotFields("fournisseur de commande DESC")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("TCD1").PivotFields("groupe produit GRP PRD")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("TCD1")
.CompactLayoutRowHeader = "Fournisseurs et Produits"
.AddDataField ActiveSheet.PivotTables("TCD1").PivotFields("Mnt"), "Montant", xlSum
.PivotFields("Montant").NumberFormat = "# ##0"
End With
ActiveWorkbook.ShowPivotTableFieldList = False
Range("A1").Select
End Sub