[COLOR=#333333][FONT=monospace]Option Explicit[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Sub Treat1()[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Dim NomDic As Object[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Set NomDic = CreateObject("Scripting.Dictionary")[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Dim Rg As Range[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Dim K, KK[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Dim I As Integer[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Application.ScreenUpdating = False[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]With NomDic[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]For Each Rg In Range("C2:C" & Cells(Rows.Count, "C").End(3).Row)[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]If (.exists(Rg.Value)) Then[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]If (.Item(Rg.Value).exists(Rg(1, 0).Value)) Then[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace].Item(Rg.Value).Item(Rg(1, 0).Value) = .Item(Rg.Value).Item(Rg(1, 0).Value) + 1[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Else[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace].Item(Rg.Value).Item(Rg(1, 0).Value) = 1[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]End If[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Else[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Set .Item(Rg.Value) = CreateObject("Scripting.Dictionary")[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace].Item(Rg.Value).Item(Rg(1, 0).Value) = 1[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]End If[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Next Rg[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Range("D2:D" & Cells(Rows.Count, "D").End(3).Row + 1).Resize(, 3).ClearContents[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]I = 1[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]For Each K In .keys[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]For Each KK In .Item(K).keys[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]If ((.Item(K).Item(KK) <> 1) Or (.Item(K).Count > 1)) Then[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]I = I + 1[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Cells(I, "D") = KK[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Cells(I, "E") = K[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Cells(I, "F") = .Item(K).Item(KK)[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]End If[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Next KK[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]If ((.Item(K).Count = 1) And (.Item(K).Item(KK) <> 1)) Then[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace].Remove (K)[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]End If[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Next K[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]For Each Rg In Range("C2:C" & Cells(Rows.Count, "C").End(3).Row)[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Rg.Interior.Pattern = xlNone[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]If (.exists(Rg.Value)) Then Rg(1, 0).Resize(1, 2).Interior.ColorIndex = 6[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Next Rg[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]End With[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]Application.ScreenUpdating = True[/FONT][/COLOR]
[COLOR=#333333][FONT=monospace]End Sub[/FONT][/COLOR]