Sub Test()
Dim toto(2, 2)
Dim titi As Variant
toto(1, 1) = 5
toto(1, 2) = 10
toto(2, 1) = 15
toto(2, 2) = 20
titi = TransposeDim(toto)
End Sub
Function TransposeDim(v As Variant) As Variant
Dim obj As Excel.Application
Set obj = CreateObject("Excel.Application")
' Custom Function to Transpose a 0-based array (v)
Dim X As Long, Y As Long, Xupper As Long, Yupper As Long
Dim tempArray As Variant
Xupper = UBound(v, 2)
Yupper = UBound(v, 1)
ReDim tempArray(Xupper, Yupper)
For X = 0 To Xupper
For Y = 0 To Yupper
tempArray(X, Y) = v(Y, X)
Next Y
Next X
TransposeDim = tempArray
obj.Quit
Set obj = Nothing
End Function