Private Sub Worksheet_Activate()
Dim deb As Range, ncol%, base, nligbase&, t(), i&, j%, k&
Set deb = [A1] '1ère cellule, à adapter
ncol = 6 'nombre de colonnes du tableau, à adapter
base = Feuil1.UsedRange.Resize(, ncol) 'tableau, CodeName de la feuille
nligbase = UBound(base)
ReDim t(1 To 12, 1 To ncol - 1) 'tableau base 1
For i = 1 To 12
For j = 1 To ncol - 1
For k = 2 To nligbase
If IsDate(base(k, 1)) Then If Month(base(k, 1)) = i Then _
If base(k, j + 1) <> "" Then t(i, j) = t(i, j) + 1 'comptage
Next k, j, i
deb(2, 2).Resize(12, ncol - 1) = t 'restitution dans la feuille
'---titres---
deb.Resize(, ncol) = Application.Index(base, 1, 0)
deb(2).Resize(12).FormulaArray = "=UPPER(TEXT(""1/""&ROW(1:12),""mmm""))"
deb(2).Resize(12) = deb(2).Resize(12).Value
End Sub