Private Sub Worksheet_Change(ByVal Target As Range) Dim ValeurAjoutee Dim P As Integer 'Changer le nom de la colomne concernée par le votre; Dans notre exemple, la liste déroulante existe dans la colonne C. If Not Intersect(Columns("C"), Target) Is Nothing And Target.Count = 1 And Target.Row > 1 Then Application.EnableEvents = False ValeurAjoutee = Target Application.Undo P = InStr(Target, ValeurAjoutee) If P > 0 Then Target = Left(Target, P - 1) & Mid(Target, P + Len(ValeurAjoutee) + 1) If Right(Target, 1) = "," Then Target = Left(Target, Len(Target) - 1) End If Else If Target = "" Then Target = ValeurAjoutee Else Target = Target & ";" & " " & ValeurAjoutee End If End If Application.EnableEvents = True End If End Sub