Private Sub CommandButton1_Click()
Dim sDat(), sRng, i&, sReport(), z&, NbrPers&, NbrH&, NbrF&
sDat = Sheets("BASE").UsedRange.Value
Set Dico = CreateObject("Scripting.Dictionary")
For i = LBound(sDat, 1) + 1 To UBound(sDat, 1)
Dico(sDat(i, 1)) = sDat(i, 1)
Next i
sRng = Dico.Keys
For i = LBound(sRng, 1) To UBound(sRng, 1)
z = z + 1: NbrPers = 0: Salaires = 0: NbrF = 0: NbrH = 0
ReDim Preserve sReport(1 To UBound(sRng, 1), 1 To z)
For j = LBound(sDat, 1) + 1 To UBound(sDat, 1)
If sDat(j, 1) = sRng(i) Then
NbrPers = NbrPers + 1
Salaires = Salaires + sDat(j, 7)
If sDat(j, 8) = "homme" Then NbrH = NbrH + 1
If sDat(j, 8) = "femme" Then NbrF = NbrF + 1
End If
Next j
sReport(1, z) = sRng(i)
sReport(2, z) = NbrPers
sReport(3, z) = Salaires
sReport(4, z) = NbrF
sReport(5, z) = NbrH
Next i
Range(Cells(2, 1), Cells(Rows.Count, 5).End(xlUp).Offset(2, 0)).ClearContents
Cells(2, 1).Resize(UBound(sReport, 2), UBound(sReport, 1)) = Application.Transpose(sReport)
End Sub