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 + F11pour 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
MultiSelectListprend deux arguments :Target(la cellule où la liste déroulante sera affichée) etSource(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
Targetet 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
- Retournez à votre feuille Excel.
- Sélectionnez la cellule où vous souhaitez créer la liste déroulante à choix multiple (par exemple, B1).
- Allez dans l'onglet
Donnéeset cliquez surValidation des données. - Dans la fenêtre
Validation des données, sous l'ongletOptions:- Dans le champ
Autoriser, sélectionnezListe. - 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.
- Dans le champ
- 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
- Allez dans l'onglet
Développeuret cliquez surInsérer. - Sous
Contrôles de formulaire, sélectionnez l'icôneCase à cocher. - Dessinez la case à cocher dans la cellule où vous souhaitez la placer.
- Modifiez le texte de la case à cocher pour correspondre à la première option de votre liste (par exemple, "Projet A").
- Répétez les étapes 2 à 4 pour chaque option de votre liste.
Étape 3 : Lier les cases à cocher à des cellules
- Faites un clic droit sur la première case à cocher et sélectionnez
Format de contrôle. - Dans l'onglet
Contrôle, dans le champCellule liée, entrez une cellule vide (par exemple, C1). - Cliquez sur
OK. - 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
SIpour vérifier si la cellule liée à chaque case à cocher contient la valeurVRAI(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
OptionsProjetspour 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.