Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Not Target.MergeCells Then Exit Sub
Dim RH, L, CW, i&
Cancel = True
Application.ScreenUpdating = False
RH = Target.RowHeight
Target.Rows.AutoFit 'ajustement hauteur
If Target.RowHeight < RH Then Exit Sub 'un double-clic sur deux
L = Target.Width: CW = Target(1).ColumnWidth
Target.UnMerge 'défusionne
For i = 1 To 510 'largeur maximum d'une colonne 255
Target(1).ColumnWidth = i / 2
If Target(1).Width > L Then Target(1).ColumnWidth = (i - 1) / 2: Exit For
Next
Target(1).WrapText = True 'renvoi à la ligne
Target(1).Rows.AutoFit 'ajustement hauteur
Target(1).ColumnWidth = CW
Target.Merge 'refusionne
End Sub