Bonsoir,
une solution via une macro
Sub creedb()
Set wsi = Worksheets("feuil1")
Set wst = Worksheets("feuil2")
dli = wsi.Range("a" & Rows.Count).End(xlUp).Row
dci = wsi.Cells(1, Columns.Count).End(xlToLeft).Column
j = 1
wst.Range("a1:d1") = Array("ref", "couleur", "taille", "prix")
For i = 2 To dli
For k = 3 To dci - 1
For l = 1 To wsi.Cells(i, k)
j = j + 1
wst.Range("a" & j) = wsi.Cells(i, 1)
wst.Range("b" & j) = wsi.Cells(i, 2)
wst.Range("c" & j) = wsi.Cells(1, k)
wst.Range("d" & j) = wsi.Cells(i, dci)
Next l
Next k
Next i
wst.Range("a1:d" & j).Borders.Weight = xlThin
wst.Columns("a:d").AutoFit
Set wsi = Nothing
Set wst = Nothing
End Sub