Sub test4()
Application.ScreenUpdating = False
DerLigne = Range("A" & Rows.Count).End(xlUp).Row - 2
Set Plage = Range(Cells(6, 3), Cells(DerLigne, 7))
Set mondico = CreateObject("scripting.Dictionary")
ligne = 1
For i = 1 To Plage.Rows.Count
temp = Plage(i, 1) & Plage(i, 2) & Plage(i, 3) & Plage(i, 4) & Plage(i, 5)
If Not mondico.exists(temp) Then
mondico.Add temp, temp
Dim Tablo()
ReDim Preserve Tablo(1 To Plage.Rows.Count, 1 To Plage.Columns.Count)
For j = 1 To Plage.Columns.Count
Tablo(ligne, j) = Plage(i, j)
Next j
ligne = ligne + 1
End If
Next i
[J3].Resize(UBound(Tablo, 2), UBound(Tablo)) = Application.Transpose(Tablo)
[J3].Resize(Plage.Columns.Count, mondico.Count).Replace What:="", Replacement:="-", SearchOrder:=xlByColumns
Application.ScreenUpdating = True
End Sub