Sub Fusion()
Dim col As Range, a As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next 'si aucune SpecialCell
With Sheets("Form")
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
With .Range("A4:E" & .Range("H" & .Rows.Count).End(xlUp).Row)
If .Row < 4 Then Exit Sub
.UnMerge 'défusionne
For Each col In .Columns
For Each a In col.SpecialCells(xlCellTypeBlanks).Areas
If a(0).Row > 3 Then Union(a(0), a).Merge 'fusionne
Next a, col
End With
End With
End Sub