Nouvelle version
Option Explicit
Dim tablo, f As Worksheet, fdep As Worksheet
Dim i&, j&, ln&
Sub Extraire()
Set fdep = ActiveSheet
tablo = Range("A6:U" & Range("A" & Rows.Count).End(xlUp).Row)
Application.ScreenUpdating = False
For i = 3 To UBound(tablo, 1)
On Error Resume Next
Set f = Sheets(Trim(tablo(i, 4)))
If Err.Number <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Trim(tablo(i, 4))
Set f = ActiveSheet
For j = 1 To UBound(tablo, 2)
f.Cells(1, j) = tablo(1, j)
f.Cells(2, j).Value = tablo(i, j)
Next j
Else
ln = f.Range("A" & Rows.Count).End(xlUp)(2).Row
For j = 1 To UBound(tablo, 2)
f.Cells(ln, j).Value = tablo(i, j)
Next j
End If
Next i
fdep.Activate
End Sub
Bye !