Liste déroulante multi-selection

Hello à tous,

Je veux créer des listes multi-sélection sur excel. Le truc c'est que j'aimerais qu'un choix soit disponible plusieurs fois dans ma cellule. Ma liste de choix en comporte 3 (1,2,3). Si je choisi le chiffre 1 une fois j'aimerais pouvoir le choisir plusieurs fois. J'aimerais pouvoir compiler les résultats. Voici mon code je crois que je dois ajouter un code afin de faire une sélection multiple et semblable mais je ne sais plus comment...

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("e5:e25")) 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

bonjour anniem,

est-ce possible de l'avoir avec un fichier anonymisé ? C'est surtout pour savoir le choix que vous avez dans votre liste déroulante.

Le voici

19teams-building.xlsm (22.73 Ko)

Bonsoir,

Dans la cellule B5, C5, D5, etc: etc: tu peux avoir plusieurs fois les chiffres 1 ou 2 ou 3 par cellules ou uniquement une fois par cellule

Ensuite qu’appelles-tu compiler en cellule F5

Slts

re, désactiver plusieurs lignes

21teams-building.xlsm (27.28 Ko)

Bonsoir,
Bonsoir BsAlv, boss_68 !

en désactivant plusieurs lignes et en restructurant le code :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Oldvalue As String, Newvalue As String
    If Not Intersect(Target, Range("E5:E25")) Is Nothing Then
        If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Or Target.Value = "" Then Exit Sub
        Application.EnableEvents = False
        Newvalue = Target.Value
        Application.Undo
        Oldvalue = Target.Value
        Target.Value = Oldvalue & IIf(Oldvalue <> "", ",", "") & Newvalue
        Application.EnableEvents = True
    End If
End Sub

@ bientôt

LouReeD

Bonjour, BsAlv, LouReed,

Attendons que anniem se manifeste

Slts

Boss_68 compiler les données en E5-E6-E7 de suite ... je peux écrire le code

Les deux versions fonctionnent

Merci LouReed pour le code restructuré je saisie davantage il me semble.

Une belle journée à vous deux

Belle soirée @ vous !

@ bientôt

LouReeD

Rechercher des sujets similaires à "liste deroulante multi selection"