Bonjour,
Je fais actuellement un petit peu de VBA (je suis novice) pour développer un document qui me sera fortement utile.
J'ai utilisé le code ci-dessous trouvé sur internet pour créer une liste déroulante multi-choix où chaque choix est noté dans la case de la liste mais je me demandais s'il était possible que chaque choix soit également repris séparément dans d'autres cellules?
Par exemple ma liste déroulante en A1 contient, Chien, Chat, Oiseaux. Je choisis Chien et Chat qui apparaîtront en A1 en tant que Chien, Chat (car la formule ci-dessous met une virgule entre chaque choix mais je compte remplacer cela par un retour à la ligne). Est-il possible que chaque fois qu'un choix est fait ils soient également repris par exemple en B1, B2,... etc (possibilité d'avoir 4-5 choix maximum dans mon cas)
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Private Sub Worksheet_Change(ByVal Target As Range) 'Code by Sumit Bansal from https://trumpexcel.com ' To allow multiple selections in a Drop Down List in Excel (without repetition) Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True On Error GoTo Exitsub If Target.Address = "$C$2" 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 = Oldvalue & ", " & Newvalue Else: Target.Value = Oldvalue End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
Partager