Private Sub Worksheet_Activate()
Dim nlig&, tablo, ncol%, resu(), i&, j%, n&, k%
With Sheets("LISTE")
nlig = Application.Count(.[A:A])
If nlig = 0 Then GoTo 1 'si le tableau est vide
tablo = .Range("A5:AD" & nlig + 4)
End With
ncol = UBound(tablo, 2)
If ncol > 10 Then ReDim resu(1 To nlig * (ncol - 10) \ 2, 1 To 12)
For i = 1 To nlig
For j = 11 To ncol Step 2
n = n + 1
resu(n, 11) = tablo(i, j)
resu(n, 12) = tablo(i, j + 1)
For k = 1 To 10
resu(n, k) = tablo(i, k)
Next k, j, i
'---restitution---
1 If FilterMode Then ShowAllData 'si la feuille est filtrée
With [A2] '1ère cellule de destination
If n Then
.Resize(n, 12) = resu
.Resize(n, 12).Borders.Weight = xlThin 'bordures
End If
.Offset(n).Resize(Rows.Count - n - .Row + 1, 12).Delete xlUp 'RAZ en dessous
End With
End Sub