1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValSaisie As Variant
' Choix multiple en colonne Professionnels
With ListObjects(1)
Application.EnableEvents = False
If Not Intersect(Target, .ListColumns("Gravité").DataBodyRange) Is Nothing Then
Application.ScreenUpdating = False
.ShowTotals = True
.ShowTotals = False
GoTo FinProc
End If
If Not Intersect(Target, .ListColumns("Professionnels").DataBodyRange) Is Nothing And Target.Count = 1 Then
ValSaisie = Target
If ValSaisie = "" Then
Target.ClearContents
GoTo FinProc
End If
Application.Undo
p = InStr(Target, ValSaisie)
If p > 0 Then
Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
If Right(Target, 1) = Chr(10) Then
Target = Left(Target, Len(Target) - 1)
End If
Else
If Target = "" Then
Target = ValSaisie
Else
Target = Target & Chr(10) & ValSaisie
End If
End If
ElseIf Target.Row = .Range.Row + .ListRows.Count And Target.Column = .Range.Column And .DataBodyRange(Cells(.ListRows.Count), 1) <> "" Then
.ListRows.Add
End If
End With
FinProc:
Application.EnableEvents = True
End Sub |
Partager