Note: The other languages of the website are Google-translated. Back to English

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

Note: In the code, ComboBox1 is the name of the combo box which you will list all range names inside, and ComboBox2 is the name of the combo box which the data of specified named range will be populated inside. The”Headers” is the range name you have created in step1.

7. Turn off the Design Mode by clicking Developer > Design Mode.

8. Click on any cell in the worksheet to activate the code. Click the arrow button in the first combo box, you can see all named ranges are listed inside. See screenshot:

When selecting a named range in the first combo box, the corresponding cell data will be populated in the second combo box as below screenshot shown:

Easily create drop-down list with checkboxes in Excel:

The Drop-down List with Check Boxes utility of Kutools for Excel can help you easily create drop-down list with checkboxes in a specified range, current worksheet, current workbook or all opened workbooks based on your needs.
Download and try it now! ( 30-day free trail)

Related articles:

The Best Office Productivity Tools

Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.
kte tab 201905

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Leave your comments
Posting as Guest
Rate this post:
0   Characters
Suggested Locations