Sub Resultat()
Dim dest As Range, ncol%, P As Range, tablo, h&, resu(), i&, n&, j&, k%
Set dest = [F3] 'à adapter
ncol = 3 'à adapter
Application.ScreenUpdating = False
If ActiveSheet.FilterMode Then ActiveSheet.showlldata 'si la feuille est filtrée
dest(2).Resize(Rows.Count - dest.Row, ncol).Delete xlUp 'RAZ
Set P = Range("A4", Range("A" & Rows.Count).End(xlUp)) 'à adapter
If P.Row < 4 Then Exit Sub
tablo = P.Resize(, ncol) 'matrice, plus rapide
h = UBound(tablo)
'---tableau des résultats---
ReDim resu(1 To h * h, 1 To ncol)
For i = 1 To h
n = h * (i - 1) + 1
For j = 0 To h - 1
resu(n + j, 1) = tablo(i, 1)
For k = 2 To ncol
resu(n + j, k) = tablo(j + 1, k)
Next k, j, i
'---restitution---
With dest(2).Resize(UBound(resu), ncol)
.Value = resu
.Borders.Weight = xlThin 'bordures
End With
End Sub