[COLOR="DarkSlateGray"][B]Sub tableau_inverse()
Dim oDat, sDat, l As Long, c As Long, i As Long, j As Long[COLOR="DarkRed"], k As Long[/COLOR]
oDat = WorksheetFunction.Transpose(Sheets("Feuil1").[COLOR="DarkRed"][A6:D11][/COLOR].Value)
l = UBound(oDat, 1)
c = l * (UBound(oDat, 2) - 1)
ReDim sDat([COLOR="DarkRed"]1 To 2, 1 To c[/COLOR])
For i = 0 To UBound(oDat, 2) - 2
For j = 1 To l
[COLOR="DarkRed"]If IsEmpty(oDat(j, i + 2)) Then
k = k + 1
Else[/COLOR]
sDat(1, j [COLOR="DarkRed"]- k[/COLOR] + i * l) = oDat(j, 1)
sDat(2, j [COLOR="DarkRed"]- k[/COLOR] + i * l) = oDat(j, i + 2)
[COLOR="DarkRed"]End If[/COLOR]
Next j
Next i
[COLOR="DarkRed"]ReDim Preserve sDat(1 To 2, 1 To c - k)[/COLOR]
With Sheets("Feuil2")
.Activate [COLOR="SeaGreen"]'Facultatif[/COLOR]
With .[A5]
.CurrentRegion.ClearContents
.Resize(c [COLOR="DarkRed"]- k[/COLOR], 2).Value = [COLOR="DarkRed"]WorksheetFunction.Transpose(sDat)[/COLOR]
End With
End With
End Sub[/B][/COLOR]