Bonsoir abdernino,
Vois ceci :
Option Explicit
Sub test()
Dim r As Range, rng As Range
Application.ScreenUpdating = False
With Sheets("Feuil1")
With .Range("h1").CurrentRegion
Set rng = .Columns(21).Offset(1).Resize(.Rows.Count - 1).Cells
For Each r In rng
If Not Evaluate("isref('" & r.Value & "'!a1)") Then
Sheets.Add(after:=Sheets(Sheets.Count)).Name = r.Value
End If
Sheets(CStr(r.Value)).Cells.Delete
Union(.Rows(1), .Rows(r.Row)).Copy Sheets(CStr(r.Value)).Cells(1)
Next
Set rng = Nothing
End With
End With
Application.ScreenUpdating = True
End Sub
La colonne G est totalement vide, il faut donc réajuster la plage à traiter
With Sheets("Feuil1")
With .Range("a1").CurrentRegion.Resize(, 50)
Set rng = .Columns(28).Offset(1).Resize(.Rows.Count - 1).Cells
klin89