Option Explicit
Sub test2()
Dim Dico As Object, cel As Range, myarray, k
Dim i As Integer
Set Dico = CreateObject("scripting.dictionary")
For Each cel In ThisWorkbook.Sheets("Feuil1").Range("TbAfectAnimal").Columns(2).Cells
If Not Dico.Exists(cel.Text) Then
Dico(cel.Text) = Array(cel.Text, 1, cel.Offset(, 2).Value)
Else
myarray = Dico(cel.Text)
myarray(1) = myarray(1) + 1
Dico(cel.Text) = myarray
End If
Next
'tes 3 valeurs pour chaque NoDOSSIER ,sont dans les items du dico (sous la forme d'un array)
'a savoir [ NoDossier , occurence , IdPerson]
For Each k In Dico.Keys
Debug.Print Join(Dico(k), " | ")
Next
End Sub