Private Sub Worksheet_Activate()
Dim tablo, nlig&, ncol%, resu(), i&, j%, n&
With Sheets("Feuil1").[A1].CurrentRegion 'nom de la feuille à adapter
tablo = .Value
nlig = .Rows.Count
ncol = .Columns.Count
End With
If ncol > 1 Then
ReDim resu(1 To nlig * (ncol - 1), 1 To 3)
For i = 2 To nlig
For j = 2 To ncol
n = n + 1
resu(n, 1) = tablo(i, 1)
resu(n, 2) = tablo(1, j)
resu(n, 3) = tablo(i, j)
Next j, i
End If
'---restitution---
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [A2]
If n Then .Resize(n, 3) = resu
.Offset(n).Resize(Rows.Count - n - .Row + 1, 3).ClearContents 'RAZ en dessous
End With
With UsedRange: End With 'actualise la barre de défilement verticale
End Sub