Bonjour à tous,
ah ! ben j'suis en retard, désolé
On n'avait pas dit 20h pour l'apéro ?
Sub convertir()
Dim datas, result()
Dim lig As Long, lig2 As Long, col As Long
datas = [A1].CurrentRegion.Value
ReDim result(1 To (UBound(datas, 1) - 1) * (UBound(datas, 2) - 1), 1 To 3)
For lig = 2 To UBound(datas, 1)
For col = 2 To UBound(datas, 2)
lig2 = lig2 + 1
result(lig2, 1) = datas(lig, 1)
result(lig2, 2) = datas(1, col)
result(lig2, 3) = datas(lig, col)
Next col
Next lig
With Sheets("Feuil2")
.[A:C].EntireColumn.Delete
.[A2].Resize((UBound(datas, 1) - 1) * (UBound(datas, 2) - 1), 3) = result
.[A1:C1] = Array("nom", "code", "item")
.[A:C].EntireColumn.AutoFit
.Activate
End With
End Sub
eric