Comment remplir une liste déroulante avec les données d’une plage nommée dans Excel ?
Vous pouvez spécifier une zone de liste déroulante (contrôle ActiveX) avec les données d’une plage donnée en ajoutant cette plage dans la propriété ListFillRange de la zone de liste. Mais savez-vous comment remplir une zone de liste déroulante avec les données d’une plage nommée dans Excel ? Par exemple, vous avez attribué un nom à une plage de cellules dans votre feuille de calcul et vous devez maintenant associer ce Nom de la cellule à une zone de liste déroulante. Lorsque vous sélectionnez le Nom de la cellule dans une zone de liste déroulante, toutes les valeurs de cette plage nommée seront automatiquement affichées dans une autre zone de liste déroulante. Cet article présente une méthode VBA pour résoudre ce problème.
Remplir une zone de liste déroulante avec les données d’une plage nommée à l’aide d’un code VBA
Remplir une zone de liste déroulante avec les données d’une plage nommée à l’aide d’un code VBA
Procédez comme suit pour remplir une liste déroulante avec les données d’une plage nommée dans Excel.
1. Sélectionnez tous les en-têtes (dans cet exemple, je sélectionne A1:E1) dans votre feuille de calcul, puis saisissez un nom dans la zone Nom comme illustré ci-dessous.

2. Sélectionnez les données de chaque colonne, à l’exception de son en-tête, puis attribuez-leur un nom distinct dans la zone Nom. Voir la capture d’écran :
Dans cet exemple, j’ai nommé les plages A2:A8, B2:B8, C2:C8, D2:D8 et E2:E8 respectivement « Date », « Magasin », « Articles », « Ventes » et « JourSemaine ».

3. Insérez ensuite une zone de liste déroulante en cliquant sur Développeur > Insérer > Zone de liste déroulante (contrôle ActiveX). Voir la capture d’écran :

4. Répétez l’étape 3 pour ajouter une autre zone de liste déroulante à la feuille de calcul.

5. Cliquez avec le bouton droit sur l’onglet de la feuille, puis sélectionnez Afficher le code dans le menu contextuel. Voir la capture d’écran :

6. Dans la fenêtre Microsoft Visual Basic pour Applications qui s’ouvre, copiez et collez le code VBA ci-dessous dans la fenêtre de code.
Code VBA : Remplir une zone de liste déroulante avec les données d’une plage nommée
Private Sub ComboBox1_Change()
'Updated by Extendoffice 2018/1/30
Dim xRg As Range
Set xRg = Range(Me.ComboBox1.Text)
Me.ComboBox2.List = Application.WorksheetFunction.Transpose(xRg)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xRg As Range
Set xRg = Range("Headers")
Me.ComboBox1.List = Application.WorksheetFunction.Transpose(xRg)
End Sub Remarque : dans ce code, ComboBox1 est le nom de la zone de liste déroulante dans laquelle vous afficherez tous les noms de cellule, et ComboBox2 est le nom de la zone de liste déroulante qui sera remplie avec les données de la plage nommée spécifiée. « Headers » correspond au nom de la cellule que vous avez créé à l’étape 1.
7. Désactivez le mode Création en cliquant sur Développeur > Mode Création.
8. Cliquez sur n’importe quelle cellule de la feuille de calcul pour activer le code, puis sur la flèche déroulante de la première liste : toutes les plages nommées s’affichent aussitôt. Voir la capture d’écran :

Lorsque vous sélectionnez une plage nommée dans la première zone de liste déroulante, les données correspondantes sont automatiquement affichées dans la deuxième zone de liste déroulante, comme illustré ci-dessous :

Créez facilement des Liste déroulante avec des cases à cocher dans Excel :
L’utilitaire Ajouter des cases à cocher à la liste déroulante de Kutools pour Excel vous permet de créer facilement des listes déroulantes avec cases à cocher dans une plage limitée, la feuille de calcul active, le classeur actuel ou tous les classeurs ouverts — selon vos besoins.
Téléchargez-le et essayez-le dès maintenant ! (Essai gratuit de 30 jours)
Articles associés :
- Comment copier la valeur sélectionnée dans une liste déroulante vers la cellule active dans Excel ?
- Comment afficher un format de date dans la sortie d’une zone de liste déroulante dans Excel ?
- Comment empêcher ou désactiver la saisie dans une zone de liste déroulante dans Excel ?
- Comment remplir automatiquement une liste déroulante avec des données spécifiques dès l’ouverture du classeur ?
- Comment remplir automatiquement d’autres cellules en sélectionnant une valeur dans une liste déroulante Excel ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels