Comment remplir une zone de 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 certaine plage en ajoutant cette plage aux propriétés 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 nommé une plage de cellules dans votre feuille de calcul et devez maintenant spécifier ce nom de plage dans une zone de liste déroulante. Lorsque vous sélectionnez le nom de la plage dans une zone de liste, toutes les valeurs des cellules de cette plage nommée seront automatiquement remplies dans une autre zone de liste. Cet article présentera 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 du code VBA
Remplir une zone de liste déroulante avec les données d'une plage nommée à l'aide du code VBA
Veuillez suivre les étapes ci-dessous pour remplir une zone de liste déroulante avec les données d'une plage nommée dans Excel.
1. Veuillez sélectionner toutes les en-têtes (dans ce cas, je sélectionne A1:E1) dans votre feuille de calcul, puis taper un nom dans la Zone de nom comme indiqué dans la capture d'écran ci-dessous.
2. Sélectionnez les données de chaque colonne, à l'exception de son en-tête, puis nommez chaque colonne séparément dans la Zone de nom. Voir la capture d'écran :
Dans ce cas, j'ai nommé les plages A2:A8, B2:B8, C2:C8, D2:D8 et E2:E8 respectivement Date, Magasin, Articles, Ventes et Jour de la semaine.
3. Ensuite, insérez 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 insérer une autre zone de liste déroulante dans la feuille de calcul.
5. Faites un clic droit sur l'onglet de la feuille, puis cliquez sur Afficher le code dans le menu contextuel. Voir la capture d'écran :
6. Dans la fenêtre Microsoft Visual Basic for Applications qui s'ouvre, veuillez copier et coller le code VBA ci-dessous dans la fenêtre 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 le code, ComboBox1 est le nom de la zone de liste déroulante où vous listerez tous les noms de plage, et ComboBox2 est le nom de la zone de liste déroulante où les données de la plage nommée spécifiée seront remplies. « En-têtes » est le nom de la plage que vous avez créée à 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 dans la feuille de calcul pour activer le code. Cliquez sur le bouton fléché dans la première zone de liste déroulante, vous pouvez voir que toutes les plages nommées sont listées à l'intérieur. 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 des cellules seront remplies dans la deuxième zone de liste déroulante comme indiqué dans la capture d'écran ci-dessous :
Créez facilement une liste déroulante avec des cases à cocher dans Excel :
L' Ajouter des cases à cocher à la liste déroulante fonctionnalité de Kutools pour Excel peut vous aider à créer facilement une liste déroulante avec des cases à cocher dans une plage spécifiée, la feuille de calcul actuelle, le classeur actuel ou tous les classeurs ouverts selon vos besoins.
Téléchargez et essayez-le dès maintenant ! (30-jour d'essai gratuit)
Articles connexes :
- Comment copier la valeur de la zone de liste déroulante vers la cellule active dans Excel ?
- Comment afficher le format de date dans la sortie de la 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 une zone de liste déroulante avec des données spécifiques à l'ouverture du classeur ?
- Comment remplir automatiquement d'autres cellules lors de la sélection de valeurs dans une liste déroulante Excel ?
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 facilite grandement votre travail
- Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !