Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim r As Range
If Target.MergeCells Then
Cancel = True
Set r = Target(1).MergeArea
Target.UnMerge 'défusionne
r = Target(1)
r.Borders.Weight = xlThin 'bordures (facultatives)
r(1).Select
Else
Application.DisplayAlerts = False
Set r = Target(1)
While r(2) <> "" And r(2) = Target(1) And Not r(2).MergeCells
Cancel = True
Set r = r(2)
Wend
If Cancel Then Range(Target, r).Select: Selection.Merge 'fusionne
End If
End Sub