bonjour,
une proposition
Sub aargh()
With Sheets("sheet1") 'à adapter
dl = .Cells(Rows.Count, 1).End(xlUp).Row
Set dictcol = CreateObject("scripting.dictionary")
Set dictlig = CreateObject("scripting.dictionary")
Set Base = Sheets("sheet1").Range("E1") ' à adapter positionnement du tableau reconstitué
For i = 2 To dl
cellig = .Cells(i, 1)
celcol = .Cells(i, 2)
celval = .Cells(i, 3)
If dictlig.exists(cellig) Then
lig = dictlig(cellig)
Else
nligne = nligne + 1
Base.Cells(nligne + 1, 1) = cellig
dictlig(cellig) = nligne
lig = nligne
End If
If dictcol.exists(celcol) Then
col = dictcol(celcol)
Else
ncol = ncol + 1
Base.Cells(1, ncol + 1) = celcol
dictcol(celcol) = ncol
col = ncol
End If
Base.Cells(lig + 1, col + 1) = celval
Next i
End With
End Sub