Bonjour à tous,
via VBA, tes données source à partir de A1, résultat en F1
Option Explicit
Sub transpose()
Dim a, b, i As Long, ii As Long
a = [a1].CurrentRegion.Value
ReDim b(1 To UBound(a, 1), 1 To UBound(a, 2))
With CreateObject("Scripting.Dictionary")
For i = 2 To UBound(a, 1)
b(i, 1) = a(i, 1)
For ii = 2 To UBound(a, 2)
If Not .exists(a(i, ii)) Then
.Item(a(i, ii)) = .Count + 2
b(1, .Item(a(i, ii))) = a(i, ii)
End If
b(i, .Item(a(i, ii))) = a(1, ii)
Next
Next
End With
[f1].Resize(UBound(b, 1), UBound(b, 2)).Value = b
End Sub
klin89