Option Explicit
Sub TriFamille(ByVal Col As Long)
Dim Rng As Range, TEnt(), TSor(), LE As Long, LS As Long, C As Long
Set Rng = Worksheets("Feuil1").[A1].UsedRange
TEnt = Rng.Value
ReDim TSor(1 To 2 * UBound(TEnt, 1), 1 To UBound(TEnt, 2))
For LE = 1 To 3: For C = 1 To UBound(TEnt, 2)
TSor(LE, C) = TEnt(LE, C)
Next C, LE
LS = 3
For LE = 4 To UBound(TEnt, 1)
If TEnt(LE, Col) <> TEnt(LE - 1, Col) Then LS = LS + 1
LS = LS + 1
For C = 1 To UBound(TEnt, 2)
TSor(LS, C) = TEnt(LE, C)
Next C, LE
Rng.Resize(LS).Value = TSor
End Sub