Sub Macro1()
Dim C As Workbook
Dim O As Object
Dim DL As Long
Dim PL As Range
Dim D As Object
Dim CEL As Range
Dim TMP As Variant
Dim I As Long
Dim PLV As Range
Dim P As Object
Set C = Workbooks.Open("C:\Data\monfichier.xlsm")
Set O = C.Sheets("Data")
DL = O.Cells(Application.Rows.Count, 1).End(xlUp).Row
Set PL = O.Range("A2:A" & DL)
Set D = CreateObject("Scripting.Dictionary")
For Each CEL In PL
D(CEL.Offset(0, 7).Value) = ""
Next CEL
TMP = D.keys
C.Close SaveChanges:=False
For I = 0 To UBound(TMP)
Set C = Workbooks.Open("C:\Data\monfichier.xlsm")
Set O = C.Sheets("Data")
DL = O.Cells(Application.Rows.Count, 1).End(xlUp).Row
Set PL = O.Range("A2:A" & DL)
O.Range("A1").AutoFilter Field:=8, Criteria1:="<>" & TMP(I)
Set PLV = PL.SpecialCells(xlCellTypeVisible)
PLV.EntireRow.Delete
O.Range("A1").AutoFilter
Set P = Sheets("Pivot")
With P.PivotTables("PivotTable1").PivotFields("Teams")
For J = 1 To .PivotItems.Count
If .PivotItems(J) <> .PivotItems(TMP(I)) Then .PivotItems(J).Visible = False
Next J
End With
C.SaveAs ("C:data/Output/" & TMP(I) & ".xlsm")
C.Close
Next I
End Sub