Sub StatVentes()
Dim Plage As Range, h&, i&, j&, k, a, Borne1&, Borne2&, Total
a = Worksheets("articles").Range("A7", Worksheets("articles").[A7].End(xlDown)).Value
For j = 1 To Sheets.Count
If Sheets(j).Name <> "articles" Then
Sheets(j).Cells(6, 1).Resize(UBound(a)) = a
End If
Next j
With Sheets("articles")
Set Plage = .Range(.Cells(5, 2), .Cells(5, 9))
End With
For h = 1 To Plage.Columns.Count
Dim tablo()
For i = LBound(a) To UBound(a)
For j = 2 To Sheets.Count
Borne1 = Evaluate("MATCH(DATE(YEAR(" & Plage(h).Address(external:=True) & "),MONTH(" & Plage(h).Address(external:=True) & "),1)," & Sheets(j).Name & "!" & "B5:IV5,0)")
Borne2 = Evaluate("MATCH(DATE(YEAR(" & Plage(h).Address(external:=True) & "),MONTH(" & Plage(h).Address(external:=True) & ")+1,0)," & Sheets(j).Name & "!" & "B5:IV5,0)")
For k = Borne1 To Borne2
Total = Total + Sheets(j).Cells(5 + i, k + 1)
Next k
Next j
ReDim Preserve tablo(LBound(a) To UBound(a))
tablo(i) = Total
Total = 0
Next i
Sheets("articles").Cells(7, h + 1).Resize(UBound(tablo)) = Application.Transpose(tablo)
Next h
End Sub