Comment remplir la zone de liste déroulante avec les données de la plage nommée dans Excel?
Vous pouvez spécifier une zone de liste déroulante (contrôle ActiveX) avec des données d'une certaine plage en ajoutant la plage dans les propriétés ListFillRange de la zone de liste déroulante. 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 vous 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 déroulante, toutes les valeurs de cellule de cette plage nommée seront automatiquement remplies dans une autre zone de liste déroulante. Cet article présentera une méthode VBA pour résoudre ce problème.
Remplir la zone de liste déroulante avec les données d'une plage nommée avec le code VBA
Remplir la zone de liste déroulante avec les données d'une plage nommée avec le code VBA
Veuillez procéder comme suit pour remplir la zone de liste déroulante avec les données d'une plage nommée dans Excel.
1. Veuillez sélectionner les en-têtes entiers (dans ce cas, je sélectionne A1: E1) dans votre feuille de calcul, puis tapez un nom dans le Zone Nom comme ci-dessous la capture d'écran montrée.
2. Sélectionnez chaque donnée de colonne à l'exception de son en-tête, puis nommez la colonne séparément dans le Zone Nom. Voir la capture d'écran:
Dans ce cas, j'ai nommé la plage A2: A8, B2: B8, C2: C8, D2: D8 et E2: E8 comme date, boutique, articles, ventes et jour de la semaine séparément.
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 insérer une autre zone de liste déroulante dans la feuille de calcul.
5. Cliquez avec le bouton droit sur l'onglet de la feuille, puis cliquez sur Voir le code dans le menu contextuel. Voir la capture d'écran:
6. Dans l'ouverture Microsoft Visual Basic pour applications , veuillez copier et coller ci-dessous le code VBA dans la fenêtre Code.
Code VBA: remplir la 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
Notes: Dans le code, ComboBox1 est le nom de la zone de liste déroulante dans laquelle vous listerez tous les noms de plage à l'intérieur, et ComboBox2 est le nom de la zone de liste déroulante dans laquelle les données de la plage nommée spécifiée seront remplies à l'intérieur. Les «En-têtes» sont le nom de plage que vous avez créé à l'étape 1.
7. Désactivez le mode de conception en cliquant sur Développeur > Mode de conception.
8. Cliquez sur n'importe quelle cellule de 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 répertoriées à l'intérieur. Voir la capture d'écran:
Lors de la sélection d'une plage nommée dans la première zone de liste déroulante, les données de cellule correspondantes seront remplies dans la deuxième zone de liste déroulante, comme illustré ci-dessous:
Créez facilement une liste déroulante avec des cases à cocher dans Excel:
L' Liste déroulante avec cases à cocher utilité de Kutools for 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 en fonction de vos besoins.
Téléchargez et essayez-le maintenant! (essai gratuit de 30 jours)
Articles Liés:
- Comment copier la valeur de la zone de liste déroulante dans 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écifiées sur le classeur ouvert?
- Comment remplir automatiquement d'autres cellules lors de la sélection de valeurs dans la liste déroulante Excel?
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 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
- Activer 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 réduit des centaines de clics de souris chaque jour!