Option Explicit
Private Sub Worksheet_Activate()
Dim Dico As Dictionary, Données As Collection, LOt As ListObject, _
TTit(), TRés(), Réf As SsGr, Emp As SsGr, L As Long, C As Long
Set Dico = DicInvent(Feuil1, 8, 2)
Set Données = Gigogne(Null, 2, 8)
Set LOt = Me.ListObjects(1)
ReDim TTit(1 To 1, 1 To LOt.ListColumns.Count), _
TRés(1 To LOt.ListRows.Count, 1 To LOt.ListColumns.Count)
TTit(1, 1) = "Référence"
VerserEntêtes TTit, Dico
For Each Réf In Données
L = L + 1: If L > UBound(TRés, 1) Then Exit For
TRés(L, 1) = Réf.Id
For Each Emp In Réf.Co
C = Dico(Emp.Id)
If C <= UBound(TRés, 2) Then TRés(L, C) = Emp.Count
Next Emp, Réf
LOt.HeaderRowRange.Value = TTit
LOt.DataBodyRange.Value = TRés
End Sub