Bonjour, je voudrais créer dans une colonne une liste déroulante qui me propose de "cocher"usieurs choix, et que dans la cellule, les données sélectionnées soit séparées par des virgules. Ma liste est ci-dessous. Je voudrais poar exemple que ma cellule m'afffiche "FR, DE,FI" ou "FR". Merci de votre aide.
| langue |
| FR |
| DE |
| EN |
| IT |
| NL |
| DA |
| EL |
| ES |
| PT |
| FI |
| SV |
J'ai une vba, toutefois cette dernière m'oblige à séléctionner un par un :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Not Intersect(Target, Range("AF301:AF10000")) Is Nothing Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue & ", ") > 0 Then
Target.Value = Replace(Oldvalue, Newvalue & ", ", "")
ElseIf InStr(1, Oldvalue, ", " & Newvalue) > 0 Then
Target.Value = Replace(Oldvalue, ", " & Newvalue, "")
ElseIf InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & Newvalue
End If
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub