Fonctionnalites

Excel : Comment créer une liste déroulante à choix multiple ?

15 janvier 2026 1 vues

Les listes déroulantes sont un outil puissant d'Excel pour faciliter la saisie de données et éviter les erreurs. Mais saviez-vous qu'il est possible d'aller plus loin et de créer des listes déroulantes permettant de sélectionner plusieurs options ? Que ce soit pour gérer des projets, suivre des stocks ou simplement simplifier vos formulaires, les listes déroulantes à choix multiple offrent une flexibilité inégalée. Dans cet article, nous allons explorer en détail comment créer ces listes, les personnaliser et les utiliser efficacement pour optimiser vos feuilles de calcul Excel.

Excel : Comment créer une liste déroulante à choix multiple ?

Les listes déroulantes à choix multiple dans Excel permettent aux utilisateurs de sélectionner plusieurs options à partir d'une liste prédéfinie, ce qui est particulièrement utile pour des formulaires ou des tableaux nécessitant une saisie flexible et précise. Bien qu'Excel ne propose pas de fonctionnalité native pour cela, il existe des solutions ingénieuses que nous allons explorer.

Pourquoi utiliser une liste déroulante à choix multiple dans Excel ?

  • Amélioration de la saisie de données : Permet aux utilisateurs de choisir parmi une liste d'options, réduisant les erreurs de saisie et assurant une uniformité des données.
  • Flexibilité : Offre la possibilité de sélectionner plusieurs options pertinentes pour un enregistrement spécifique.
  • Gain de temps : Accélère le processus de saisie en évitant de taper manuellement les mêmes informations à plusieurs reprises.
  • Organisation : Structure les données de manière claire et concise.

Méthode 1 : Utilisation de la validation des données et d'une fonction personnalisée (VBA)

La méthode la plus courante pour créer une liste déroulante à choix multiple dans Excel implique l'utilisation de la validation des données et la création d'une fonction personnalisée en VBA (Visual Basic for Applications). Cette méthode, bien que nécessitant quelques étapes, offre une grande flexibilité et un contrôle total sur le comportement de la liste.

Étape 1 : Préparer la liste des options

Commencez par créer une liste des options que vous souhaitez inclure dans votre liste déroulante. Par exemple, dans les cellules A1 à A5, vous pouvez lister les noms de différents projets : Projet A, Projet B, Projet C, Projet D, Projet E.

Étape 2 : Ouvrir l'éditeur VBA

  • Appuyez sur Alt + F11 pour ouvrir l'éditeur VBA.
  • Dans l'éditeur VBA, insérez un nouveau module en allant dans Insertion > Module.

Étape 3 : Créer la fonction VBA personnalisée

Copiez et collez le code VBA suivant dans le module que vous avez créé :

Function MultiSelectList(Target As Range, Source As Range) As String
    Dim SelectedItems As String
    Dim Item As Variant
    Dim i As Long

    If Target.Validation.Type = xlValidateList Then
        With CreateObject("Forms.ListBox.1")
            .MultiSelect = fmMultiSelectMulti
            .List = Source.Value
            .Visible = True
            .Width = 150
            .Height = 100

            With Target.TopLeftCell
                .Parent.Activate
                .Select
                .Parent.OLEObjects.Add(ClassType:="Forms.ListBox.1", Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height).Object. _
                    List = Source.Value
                With .Parent.OLEObjects(.Parent.OLEObjects.Count).Object
                    .MultiSelect = fmMultiSelectMulti
                End With

                For i = 0 To .ListCount - 1
                    If InStr(1, ", " & Target.Value & ", ", ", " & .List(i) & ", ") > 0 Then
                        .Selected(i) = True
                    End If
                Next i

                .Visible = False

                MultiSelectList = Join(.Selected, ", ")

            End With
        End With
    End If
End Function

Explication du code VBA :

  • La fonction MultiSelectList prend deux arguments : Target (la cellule où la liste déroulante sera affichée) et Source (la plage de cellules contenant les options de la liste).
  • Le code crée une ListBox temporaire, permet la sélection multiple, et affiche les options de la plage Source.
  • Il lit les valeurs déjà sélectionnées dans la cellule Target et les présélectionne dans la ListBox.
  • Enfin, il renvoie une chaîne de caractères contenant les éléments sélectionnés, séparés par des virgules.

Étape 4 : Utiliser la fonction dans Excel

  1. Retournez à votre feuille Excel.
  2. Sélectionnez la cellule où vous souhaitez créer la liste déroulante à choix multiple (par exemple, B1).
  3. Allez dans l'onglet Données et cliquez sur Validation des données.
  4. Dans la fenêtre Validation des données, sous l'onglet Options :
    • Dans le champ Autoriser, sélectionnez Liste.
    • Dans le champ Source, entrez la plage de cellules contenant vos options (par exemple, $A$1:$A$5).
    • Cochez la case Liste déroulante dans la cellule.
    • Cliquez sur OK.
  5. Dans la cellule B1, tapez la formule suivante : =MultiSelectList(B1,A1:A5) et validez. (Remplacez B1 et A1:A5 par les références de cellule appropriées).

Étape 5 : Tester la liste déroulante

Cliquez sur la cellule B1. Une liste déroulante apparaîtra, vous permettant de sélectionner plusieurs options. Les options sélectionnées seront affichées dans la cellule, séparées par des virgules.

Méthode 2 : Utilisation d'une case à cocher liée à une cellule

Une autre méthode, plus manuelle mais parfois plus appropriée selon le contexte, consiste à utiliser des cases à cocher liées à des cellules. Cette méthode offre une visualisation plus claire des choix effectués.

Étape 1 : Activer l'onglet Développeur

Si l'onglet Développeur n'est pas visible, activez-le en allant dans Fichier > Options > Personnaliser le ruban et cochez la case Développeur dans la liste des onglets principaux.

Étape 2 : Insérer des cases à cocher

  1. Allez dans l'onglet Développeur et cliquez sur Insérer.
  2. Sous Contrôles de formulaire, sélectionnez l'icône Case à cocher.
  3. Dessinez la case à cocher dans la cellule où vous souhaitez la placer.
  4. Modifiez le texte de la case à cocher pour correspondre à la première option de votre liste (par exemple, "Projet A").
  5. Répétez les étapes 2 à 4 pour chaque option de votre liste.

Étape 3 : Lier les cases à cocher à des cellules

  1. Faites un clic droit sur la première case à cocher et sélectionnez Format de contrôle.
  2. Dans l'onglet Contrôle, dans le champ Cellule liée, entrez une cellule vide (par exemple, C1).
  3. Cliquez sur OK.
  4. Répétez les étapes 1 à 3 pour chaque case à cocher, en liant chaque case à une cellule vide différente (par exemple, C2, C3, C4, C5).

Étape 4 : Créer une formule pour afficher les choix sélectionnés

Dans une cellule vide (par exemple, D1), entrez la formule suivante :

=SI(C1=VRAI,"Projet A, ","") & SI(C2=VRAI,"Projet B, ","") & SI(C3=VRAI,"Projet C, ","") & SI(C4=VRAI,"Projet D, ","") & SI(C5=VRAI,"Projet E","")

Explication de la formule :

  • La formule utilise la fonction SI pour vérifier si la cellule liée à chaque case à cocher contient la valeur VRAI (ce qui signifie que la case est cochée).
  • Si la cellule contient VRAI, la formule ajoute le texte correspondant à l'option (par exemple, "Projet A, ") à la chaîne de caractères.
  • Si la cellule contient FAUX, la formule ajoute une chaîne vide (" ") à la chaîne de caractères.
  • Les différentes parties de la formule sont concaténées à l'aide de l'opérateur & pour créer une chaîne de caractères contenant toutes les options sélectionnées, séparées par des virgules.

Étape 5 : Personnaliser l'affichage (facultatif)

Vous pouvez personnaliser l'affichage de la cellule D1 en supprimant la virgule finale ou en utilisant une formule plus complexe pour gérer les cas où aucune option n'est sélectionnée.

Conseils et astuces pour les listes déroulantes à choix multiple

  • Utiliser des noms définis : Au lieu d'utiliser des références de cellules directes dans vos formules VBA ou Excel, utilisez des noms définis pour rendre vos formules plus lisibles et plus faciles à maintenir. Par exemple, vous pouvez définir le nom OptionsProjets pour la plage de cellules contenant les options de votre liste déroulante.
  • Gérer les doublons : Assurez-vous que votre liste d'options ne contient pas de doublons, car cela pourrait entraîner des comportements inattendus.
  • Valider les données : Utilisez la validation des données pour vous assurer que les utilisateurs ne peuvent saisir que des valeurs valides dans les cellules contenant les listes déroulantes.
  • Personnaliser l'apparence : Utilisez les options de formatage d'Excel pour personnaliser l'apparence de vos listes déroulantes et les rendre plus attrayantes visuellement.
  • Tester rigoureusement : Testez vos listes déroulantes à choix multiple avec différentes combinaisons d'options pour vous assurer qu'elles fonctionnent correctement dans tous les cas.

Erreurs courantes à éviter

  • Oublier d'activer l'onglet Développeur : Si vous utilisez la méthode des cases à cocher, assurez-vous d'activer l'onglet Développeur avant de commencer.
  • Ne pas lier les cases à cocher à des cellules : Si vous oubliez de lier les cases à cocher à des cellules, la formule ne fonctionnera pas correctement.
  • Erreurs dans la formule VBA : Vérifiez attentivement la syntaxe de votre code VBA et assurez-vous qu'il ne contient pas d'erreurs.
  • Références de cellules incorrectes : Vérifiez que les références de cellules utilisées dans vos formules et votre code VBA sont correctes.
  • Ne pas gérer les cas où aucune option n'est sélectionnée : Prévoyez une gestion des cas où aucune option n'est sélectionnée pour éviter d'afficher des résultats inattendus.

Conclusion

Les listes déroulantes à choix multiple dans Excel sont un outil puissant pour améliorer la saisie de données, gagner du temps et structurer vos feuilles de calcul. Bien qu'Excel ne propose pas de fonctionnalité native pour cela, les méthodes que nous avons explorées dans cet article vous permettent de créer ces listes de manière efficace et flexible. Que vous choisissiez d'utiliser la validation des données et une fonction VBA personnalisée, ou la méthode des cases à cocher, vous pouvez adapter ces techniques à vos besoins spécifiques et optimiser vos feuilles de calcul Excel.

Questions fréquentes

Est-il possible de créer une liste déroulante à choix multiple sans utiliser de code VBA ?

Bien qu'il soit possible d'obtenir un résultat similaire avec des cases à cocher et des formules, la méthode avec VBA offre une expérience utilisateur plus fluide et intégrée. La méthode des cases à cocher est une alternative plus manuelle, mais elle peut être suffisante pour des besoins simples.

Comment puis-je supprimer la virgule finale dans la liste des options sélectionnées ?

Vous pouvez utiliser la fonction `GAUCHE` et `NBCAR` combinées à `SI` pour supprimer la virgule finale. Par exemple, si votre liste est dans la cellule D1, vous pouvez utiliser la formule `=SI(NBCAR(D1)>0,GAUCHE(D1,NBCAR(D1)-2),"")`.

La fonction VBA ne fonctionne pas, que dois-je faire ?

Assurez-vous que le code VBA est correctement copié dans un module. Vérifiez également que les références de cellules dans la fonction VBA et dans la formule Excel correspondent à vos cellules. Activez les macros si nécessaire (Fichier > Options > Centre de gestion de la confidentialité > Paramètres des macros).

Mots-clés associés :

excel validation des données excel vba liste déroulante excel case à cocher excel formulaire excel astuces excel tutoriel

Partager cet article :