Sub Distances()
Dim TCarte(), L As Long, C As Long, TY(1 To 12) As Long, _
TX(1 To 12) As Long, N As Long, TDist(0 To 12, 0 To 12)
TCarte = ActiveSheet.[A1:I10].Value
For L = 1 To UBound(TCarte, 1)
For C = 1 To UBound(TCarte, 2)
N = TCarte(L, C): If N > 0 Then TX(N) = C: TY(N) = L
Next C, L
For L = 1 To 12: TDist(L, 0) = L: TDist(0, L) = L: Next L
For L = 2 To 12: For C = 1 To L - 1
TDist(L, C) = Sqr((TX(C) - TX(L)) ^ 2 + (TY(C) - TY(L)) ^ 2)
TDist(C, L) = TDist(L, C)
Next C, L
ActiveSheet.[K1].Resize(13, 13).Value = TDist
End Sub