Private Sub Worksheet_Activate()
Dim t, r, i&, j&, k&
With Sheets("Feuil1")
t = Intersect(.Range("a1").CurrentRegion, .Columns(1).Resize(, 7))
End With
ReDim r(1 To 6 * UBound(t) - 1, 1 To 3)
For i = 2 To UBound(t)
For j = 2 To UBound(t, 2)
k = k + 1
r(k, 1) = t(i, 1)
r(k, 2) = t(1, j)
r(k, 3) = t(i, j)
Next j
Next i
Columns(1).Resize(, 3).Clear
Range("a1").Resize(UBound(r), UBound(r, 2)) = r
Range("a1").CurrentRegion.Borders.LineStyle = xlContinuous
Columns(1).Resize(, 3).AutoFit
End Sub