Salut MM34,
blindons quelque peu... sinon, soigner ses spasmes...
Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim sData$
'
Application.EnableEvents = False
Application.ScreenUpdating = False
'
If Not Intersect(Target, Range("F:F")) Is Nothing Then
If InStr(Target, "-") > 0 Then
If IsNumeric(Split(Target, "-")(0)) And IsNumeric(Split(Target, "-")(1)) And _
Val(Split(Target, "-")(0)) > 0 And Val(Split(Target, "-")(1)) > 0 And _
Val(Split(Target, "-")(1)) > Val(Split(Target, "-")(0)) Then
For x = Split(Target, "-")(0) To Split(Target, "-")(1)
sData = sData & IIf(sData = "", x, ";" & x)
Next
End If
End If
Range("G" & Target.Row).Value = IIf(sData = "", IIf(IsNumeric(Target), Replace(Target, "-", ""), ""), sData)
If Range("G" & Target.Row).Value = "" Then
Target = ""
Target.Select
End If
Columns(7).AutoFit
End If
'
Application.EnableEvents = True
Application.ScreenUpdating = True
'
End Sub
A+