Partager via

Créer dans un tableau une liste de choix multiple

Anonyme
2025-01-24T14:59:41+00:00

Bonjour,

J'aimerai pouvoir créer une liste de choix multiple sur Excel dans un tableau.

Pour une personne avoir la possibilité d'avoir plusieurs formation ex : BAC, BTS, BACHELOR

Et j'aimerai pouvoir à l'aide d'un segment pouvoir filtrer rapidement en sélectionnant la formation ex : BAC ou BTS ou BACHELOR etc..

(copie d'écran ci-dessous de mon exemple de fichier)

Mais je ne sais pas comment faire.

J'ai trouvé sur un forum la Macro suivante a coller dans le code de la feuille mais il n'est pas possible de filtrer par diplôme

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20240118
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    Dim delimiter As String
    Dim TargetRange As Range

    Set TargetRange = Me.UsedRange ' Users can change target range here
    delimiter = ", " ' Users can change the delimiter here

    If Target.Count > 1 Or Intersect(Target, TargetRange) Is Nothing Then Exit Sub
    On Error Resume Next
    Set xRng = TargetRange.SpecialCells(xlCellTypeAllValidation)
    If xRng Is Nothing Then Exit Sub
    Application.EnableEvents = False

    xValue2 = Target.Value
    Application.Undo
    xValue1 = Target.Value
    Target.Value = xValue2
    If xValue1 <> "" And xValue2 <> "" Then
        If Not (xValue1 = xValue2 Or _
                InStr(1, xValue1, delimiter & xValue2) > 0 Or _
                InStr(1, xValue1, xValue2 & delimiter) > 0) Then
            Target.Value = xValue1 & delimiter & xValue2
        Else
            Target.Value = xValue1
        End If
    End If

    Application.EnableEvents = True
    On Error GoTo 0
End Sub

Je vous remercie pour votre aide 🙏

Microsoft 365 et Office | Excel | Pour les entreprises | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

12 réponses

  1. DanielCo 107.7K Points de réputation
    2025-01-25T17:47:31+00:00

    Avec cette disposition :

    en G2 :

    =DANSCOL(MAP($B$1:$D$1;DECALER($B$1:$D$1;EQUIVX(G$1;$A$2:$A$4););LAMBDA(y;x;SI(x="x";y;""))))

    formule pour 1000 lignes.

    Daniel

    0 commentaires Aucun commentaire
  2. Anonyme
    2025-01-25T16:49:10+00:00

    Bonjour,

    Merci pour votre réponse.

    Quelle serait la solution car j’ai mis juste une ligne exemple mais mon tableau va comporter rapidement plus de 200 lignes ?

    Merci pour votre aide 👍

    Franck

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2025-01-25T11:39:34+00:00

    Bonjour,

    Je veux dire que l'intérêt d'une macro, c'est de pouvoir être utilisée souvent. Dans ton cas, c'est une macro qui ne va servir qu'une seule fois. Il est beaucoup plus rapide de le faire manuellement.

    Daniel

    0 commentaires Aucun commentaire
  4. Anonyme
    2025-01-24T22:44:04+00:00

    Bonsoir,

    N’ayant trouvé sur les forums que des solutions avec Macro c’est la raison pour laquelle j’ai mis cette exemple dans ma demande mais si cela est possible sans Macro je préfère.

    Je vous remercie pour votre aide 🙏

    Franck

    0 commentaires Aucun commentaire
  5. DanielCo 107.7K Points de réputation
    2025-01-24T17:24:18+00:00

    Bonjour,

    Quel est l'intérêt de le faire avec une macro ?

    Daniel

    0 commentaires Aucun commentaire