Private Sub Worksheet_Activate()
Const Formul = "=SUMIFS('xxx'!C[14],'xxx'!C[13],"">0"",'xxx'!C[8],""<>""&""L"")"
Dim wsh
Application.ScreenUpdating = False
If Me.FilterMode Then Me.ShowAllData
Range("a:b").ClearContents
Range("a1") = "Fournisseur": Range("b1") = "Total"
For Each wsh In ThisWorkbook.Worksheets
If wsh.Name <> Me.Name Then
Cells(Rows.Count, "a").End(xlUp).Offset(1) = wsh.Name
Cells(Rows.Count, "a").End(xlUp).Offset(, 1).Formula = Replace(Formul, "xxx", wsh.Name)
Cells(Rows.Count, "a").End(xlUp).Offset(, 1).NumberFormat = "#,##0.00"
End If
Next wsh
End Sub