Bonjour à tous

J'aimerai comprendre l'intégralité d'une macro mais étant débutant j'ai du mal.
Je recherche une âme charitable pour m'expliquer ligne par ligne avec un maximum de détail la macro ci-dessous.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub Test()
Dim LastLig As Long
Dim i As Long
Dim Dico As Object
Dim S As String
Dim Tb
 
 
Application.ScreenUpdating = False
With Worksheets("Données")
    LastLig = .Cells(.Rows.Count, "F").End(xlUp).Row
    .Range("H5" & LastLig).Formula = "=COUNTIF($F$5" & LastLig & ",$F5)"
    Tb = .Range("C8:H" & LastLig)
End With
 
Set Dico = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(Tb, 1)
    If Tb(i, 4) > 1 Then
           S = "B(" & Tb(i, 1) & "*" & Tb(i, 2) & "*" & Tb(i, 3) & ") ."
        If Not Dico.Exists(Tb(i, 4)) Then
            Dico.Add Tb(i, 4), "EIU " & S
        Else
            Dico(Tb(i, 4)) = Replace(Dico(Tb(i, 4)) & S, " .B", "B")
        End If
    End If
Next i
Range("H5:H" & LastLig).ClearContents
 
If Dico.Count > 0 Then
    With Worksheets("Données").Range("I5").Resize(Dico.Count, 2)
        .Value = Application.Transpose(Array(Dico.keys, Dico.items))
        .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlNo
    End With
End If
Set Dico = Nothing
End Sub

Merci d'avance

Bonne soirée