Sub test()
Dim derlig&, t, d As New Dictionary, aux, i&, j&, clef, n&
derlig = Cells(Rows.Count, "e").End(xlUp).Row
t = Range("a1:t" & derlig)
d.CompareMode = TextCompare
For i = 1 To derlig
If Not d.Exists(CStr(t(i, 5))) Then
ReDim aux(1 To UBound(t, 2))
For j = 1 To UBound(t, 2): aux(j) = t(i, j): Next j
d.Add CStr(t(i, 5)), aux
Else
aux = d(CStr(t(i, 5)))
For j = 15 To UBound(t, 2): aux(j) = aux(j) + t(i, j): Next j
If LCase(t(i, 11)) = "connaissance" Then aux(11) = "Connaissance"
d(CStr(t(i, 5))) = aux
End If
Next i
With Worksheets("Result")
.Activate
For Each clef In d.Keys
n = n + 1
aux = d(clef)
For j = 1 To UBound(aux): t(n, j) = aux(j): Next
Next clef
.UsedRange.Clear
.Range("a1").Resize(d.Count, UBound(t, 2)) = t
Worksheets("Feuil1").Range("a2:t2").Copy
.Range("a2:t2").Resize(n - 1).PasteSpecial xlPasteFormats
Application.CutCopyMode = False
.Range("a1:t1").EntireColumn.AutoFit
End With
End Sub