Fonctionnalites

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

15 janvier 2026 7 vues

La saisie de données répétitives dans Excel peut être fastidieuse et source d'erreurs. Heureusement, les listes déroulantes offrent une solution élégante pour simplifier ce processus. Mais saviez-vous qu'il est possible d'aller encore plus loin en créant des listes déroulantes à choix multiple ? Cet article vous guide pas à pas dans la création et l'utilisation de ces listes, vous permettant de gagner en efficacité et de garantir la cohérence de vos données. Que vous soyez débutant ou utilisateur avancé, vous trouverez ici des astuces et des exemples concrets pour optimiser vos feuilles de calcul.

Comprendre l'intérêt d'une liste déroulante à choix multiple dans Excel

Une liste déroulante classique dans Excel permet de sélectionner une seule option parmi une liste prédéfinie. Une liste déroulante à choix multiple, quant à elle, offre la possibilité de sélectionner plusieurs options simultanément. Cela s'avère particulièrement utile dans les situations suivantes :

  • Gestion de projets : Assignation de plusieurs ressources à une même tâche.
  • Enquêtes et sondages : Permettre aux répondants de choisir plusieurs réponses à une question.
  • Gestion des stocks : Indiquer les différents fournisseurs pour un même produit.
  • Suivi de compétences : Identifier les compétences maîtrisées par un employé.

En résumé, une liste déroulante à choix multiple offre une plus grande flexibilité et permet de représenter des données plus complexes.

Méthode 1 : Utiliser une colonne d'assistance et la fonction TEXTJOIN (Excel 2019 et versions ultérieures)

Cette méthode est la plus simple si vous disposez d'Excel 2019 ou d'une version plus récente, car elle utilise la fonction TEXTJOIN.

Étape 1 : Préparer la liste des options

Créez une colonne dans votre feuille Excel contenant la liste des options que vous souhaitez proposer dans votre liste déroulante. Par exemple, vous pouvez lister les noms de différents fruits dans la colonne A (A1:A5).

Étape 2 : Créer des cases à cocher

  1. Activez l'onglet "Développeur". Si cet onglet n'est pas visible, allez dans Fichier > Options > Personnaliser le ruban et cochez la case "Développeur".
  2. Dans l'onglet "Développeur", cliquez sur "Insérer" puis choisissez le contrôle "Case à cocher" (sous "Contrôles de formulaire").
  3. Dessinez la case à cocher à côté de la première option de votre liste (par exemple, en B1).
  4. Cliquez avec le bouton droit sur la case à cocher et sélectionnez "Format de contrôle".
  5. Dans l'onglet "Contrôle", définissez la "Cellule liée" sur la cellule C1 (ou une autre cellule vide). Cette cellule affichera VRAI si la case est cochée et FAUX si elle ne l'est pas.
  6. Copiez la case à cocher et collez-la à côté de chaque option de votre liste. Assurez-vous que chaque case à cocher est liée à une cellule différente (C2, C3, etc.).

Description de l'image : Capture d'écran montrant une liste de fruits (Colonne A) avec des cases à cocher à côté (Colonne B) et les valeurs VRAI/FAUX correspondantes dans la colonne C, liées aux cases à cocher.

Étape 3 : Utiliser la fonction TEXTJOIN pour concaténer les options sélectionnées

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

=TEXTJOIN(", ", VRAI, IF(C1:C5=TRUE, A1:A5, ""))
  • TEXTJOIN(", ", VRAI, ...) : Cette fonction concatène les chaînes de texte en utilisant un séparateur (ici, une virgule et un espace ", "). L'argument VRAI indique d'ignorer les cellules vides.
  • IF(C1:C5=TRUE, A1:A5, "") : Cette partie de la formule vérifie si chaque cellule de la colonne C (celle liée aux cases à cocher) est égale à VRAI. Si c'est le cas, elle renvoie la valeur correspondante de la colonne A (le nom du fruit). Sinon, elle renvoie une chaîne vide (" ").

Étape 4 : Créer la liste déroulante

  1. Sélectionnez la cellule où vous souhaitez afficher la liste déroulante.
  2. Allez dans l'onglet "Données" et cliquez sur "Validation des données".
  3. Dans la boîte de dialogue "Validation des données", sélectionnez "Liste" dans le menu déroulant "Autoriser".
  4. Dans le champ "Source", entrez la référence de la cellule contenant la formule TEXTJOIN (par exemple, =D1).
  5. Cliquez sur "OK".

Vous avez maintenant une liste déroulante à choix multiple. Lorsque vous cochez ou décochez les cases à cocher, la cellule contenant la liste déroulante affichera les options sélectionnées, séparées par des virgules.

Méthode 2 : Utiliser VBA (Visual Basic for Applications)

Cette méthode est plus complexe, mais elle offre une plus grande flexibilité et peut être utilisée dans les versions d'Excel antérieures à 2019.

Étape 1 : Insérer un contrôle ListBox

  1. Activez l'onglet "Développeur" (comme expliqué dans la méthode 1).
  2. Dans l'onglet "Développeur", cliquez sur "Insérer" puis choisissez le contrôle "ListBox" (sous "Contrôles ActiveX").
  3. Dessinez le ListBox dans votre feuille Excel.
  4. Cliquez avec le bouton droit sur le ListBox et sélectionnez "Propriétés".

Étape 2 : Configurer le ListBox

Dans la fenêtre des propriétés du ListBox :

  • ListFillRange : Entrez la plage de cellules contenant la liste des options (par exemple, A1:A5).
  • MultiSelect : Définissez cette propriété sur 1 - fmMultiSelectMulti pour permettre la sélection multiple.
  • LinkedCell : Laissez ce champ vide pour l'instant.

Étape 3 : Écrire le code VBA

  1. Cliquez avec le bouton droit sur le ListBox et sélectionnez "Afficher le code". Cela ouvrira l'éditeur VBA.
  2. Collez le code VBA suivant dans la fenêtre de l'éditeur :
Private Sub ListBox1_Change()
    Dim i As Integer
    Dim strResult As String

    strResult = ""
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            strResult = strResult & ListBox1.List(i) & ", "
        End If
    Next i

    If Len(strResult) > 0 Then
        strResult = Left(strResult, Len(strResult) - 2) ' Supprimer la dernière virgule et l'espace
    End If

    Sheet1.Range("D1").Value = strResult ' Modifier "D1" par la cellule où vous souhaitez afficher le résultat
End Sub

Explication du code VBA :

  • Private Sub ListBox1_Change() : Cette procédure est exécutée chaque fois que la sélection dans le ListBox change.
  • Dim i As Integer, strResult As String : Déclare les variables i (pour la boucle) et strResult (pour stocker le résultat).
  • For i = 0 To ListBox1.ListCount - 1 : Boucle à travers chaque élément de la liste.
  • If ListBox1.Selected(i) Then : Vérifie si l'élément actuel est sélectionné.
  • strResult = strResult & ListBox1.List(i) & ", " : Si l'élément est sélectionné, ajoute-le à la chaîne strResult, suivi d'une virgule et d'un espace.
  • If Len(strResult) > 0 Then strResult = Left(strResult, Len(strResult) - 2) : Supprime la dernière virgule et l'espace si strResult n'est pas vide.
  • Sheet1.Range("D1").Value = strResult : Ecrit le résultat dans la cellule D1 de la feuille Sheet1. Modifiez "D1" par la cellule de votre choix.

Étape 4 : Tester la liste déroulante à choix multiple

Retournez à votre feuille Excel et désactivez le mode création (dans l'onglet "Développeur", désactivez le bouton "Mode création"). Vous pouvez maintenant sélectionner plusieurs options dans le ListBox. Les options sélectionnées apparaîtront dans la cellule que vous avez spécifiée dans le code VBA (par exemple, D1).

Description de l'image : Capture d'écran montrant un ListBox avec plusieurs options sélectionnées et le résultat affiché dans une cellule Excel.

Conseils et astuces pour optimiser vos listes déroulantes à choix multiple

  • Utiliser des noms définis : Au lieu d'utiliser des références de cellules directement dans vos formules ou dans les propriétés du ListBox, utilisez des noms définis. Cela rendra vos formules plus lisibles et plus faciles à maintenir. Par exemple, vous pouvez nommer la plage de cellules contenant votre liste d'options "MaListe".
  • Gérer les listes dynamiques : Si votre liste d'options est susceptible de changer, utilisez une formule pour rendre la plage de données dynamique. Par exemple, vous pouvez utiliser la fonction DECALER pour créer une plage qui s'ajuste automatiquement à la taille de votre liste.
  • Améliorer l'apparence du ListBox : Vous pouvez personnaliser l'apparence du ListBox en modifiant ses propriétés, telles que la couleur de fond, la police, etc.
  • Gestion des erreurs : Pensez à gérer les erreurs potentielles, par exemple si la cellule liée à une case à cocher contient une valeur inattendue.

Erreurs courantes à éviter

  • Oublier d'activer l'onglet "Développeur" : C'est une erreur fréquente, surtout pour les débutants. N'oubliez pas d'activer l'onglet "Développeur" dans les options d'Excel.
  • Ne pas lier correctement les cases à cocher : Assurez-vous que chaque case à cocher est liée à une cellule différente. Si plusieurs cases à cocher sont liées à la même cellule, le résultat sera incorrect.
  • Oublier de désactiver le mode création : Après avoir configuré le ListBox, n'oubliez pas de désactiver le mode création pour pouvoir interagir avec le contrôle.
  • Erreurs dans le code VBA : Vérifiez attentivement votre code VBA pour vous assurer qu'il ne contient pas d'erreurs de syntaxe ou de logique.

Conclusion

Les listes déroulantes à choix multiple sont un outil puissant pour simplifier la saisie de données et améliorer la cohérence de vos feuilles de calcul Excel. Que vous choisissiez d'utiliser la fonction TEXTJOIN ou le code VBA, vous pouvez créer des listes déroulantes à choix multiple qui répondent à vos besoins spécifiques. En suivant les conseils et astuces présentés dans cet article, vous serez en mesure de créer des listes déroulantes à choix multiple efficaces et conviviales, vous permettant ainsi de gagner du temps et d'améliorer la qualité de vos données.

Questions fréquentes

Quelle est la différence entre une liste déroulante simple et une liste déroulante à choix multiple ?

Une liste déroulante simple permet de sélectionner une seule option parmi une liste, tandis qu'une liste déroulante à choix multiple permet de sélectionner plusieurs options.

Puis-je utiliser une liste déroulante à choix multiple dans toutes les versions d'Excel ?

La méthode utilisant la fonction `TEXTJOIN` nécessite Excel 2019 ou une version plus récente. La méthode VBA peut être utilisée dans les versions antérieures d'Excel.

Comment puis-je rendre ma liste déroulante à choix multiple dynamique ?

Vous pouvez utiliser des noms définis et la fonction `DECALER` pour créer une plage de données dynamique qui s'ajuste automatiquement à la taille de votre liste d'options.

Mots-clés associés :

excel validation des données excel case à cocher excel vba listbox excel textjoin excel liste déroulante dynamique

Partager cet article :