Salut zebu14,
Un double-clic, quelle que soit la feuille, démarre la macro.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim tSplit
'
Cancel = True
On Error Resume Next
Application.ScreenUpdating = False
'
For x = Range("H" & Rows.Count).End(xlUp).Row To 2 Step -1
If InStr(Range("H" & x).Value, ";") > 0 Then
tSplit = Split(Range("H" & x).Value, ";")
Rows(x + 1 & ":" & x + UBound(tSplit)).Insert shift:=xlDown
For y = 0 To UBound(tSplit)
Range("A" & x + y & ":N" & x + y).Value = Range("A" & x & ":N" & x).Value
Next
Range("H" & x).Resize(UBound(tSplit) + 1, 1).Value = WorksheetFunction.Transpose(tSplit)
End If
Next
'
Application.ScreenUpdating = True
On Error GoTo 0
'
End Sub
A+