Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment créer des zones de liste dynamiques en cascade dans Excel?

Vous savez peut-être comment créer une liste déroulante de validation en cascade dans Excel. Cependant, comment créer des zones de liste en cascade dynamiques dans Excel? Cet article présente une méthode VBA pour le faire descendre.

Créer des zones de liste en cascade dynamiques avec du code VBA

Onglet Office Activez la modification et la navigation par onglets dans Office et simplifiez considérablement votre travail ...
Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%
  • Réutiliser n'importe quoi: Ajoutez les formules, les graphiques et tout autre élément les plus utilisés ou les plus complexes à vos favoris et réutilisez-les rapidement à l'avenir.
  • Plus de 20 fonctionnalités de texte: Extraire le numéro de la chaîne de texte; Extraire ou supprimer une partie des textes; Convertissez les nombres et les devises en mots anglais.
  • Outils de fusion: Plusieurs classeurs et feuilles en un seul; Fusionner plusieurs cellules / lignes / colonnes sans perdre de données; Fusionner les lignes en double et la somme.
  • Outils de fractionnement: Diviser les données en plusieurs feuilles en fonction de la valeur; Un classeur vers plusieurs fichiers Excel, PDF ou CSV; Une colonne à plusieurs colonnes.
  • Coller sauter Lignes cachées / filtrées; Compte et somme par couleur d'arrière-plan; Envoyez des e-mails personnalisés à plusieurs destinataires en masse.
  • Super filtre: Créez des schémas de filtres avancés et appliquez-les à toutes les feuilles; Trier par semaine, jour, fréquence et plus encore; Filtre par gras, formules, commentaire ...
  • Plus de 300 fonctionnalités puissantes; Fonctionne avec Office 2007-2019 et 365; Prend en charge toutes les langues; Déploiement facile dans votre entreprise ou organisation.

Créer des zones de liste en cascade dynamiques avec du code VBA


Comme illustré ci-dessous, vous devez créer une zone de liste parent contenant les valeurs uniques de la colonne Boisson et afficher toutes les valeurs correspondantes dans la deuxième zone de liste en fonction de la sélection dans la zone de liste parent. Le code VBA suivant vous aide à y parvenir. Veuillez faire comme suit.

1. Tout d'abord, vous devez extraire toutes les valeurs uniques de la colonne Drink. Sélectionnez une cellule vide, entrez une formule matricielle =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") into the Barre de formule, puis appuyez sur Ctrl + Mission + Entrer clé. Faites ensuite glisser le Poignée de remplissage pour obtenir toutes les valeurs uniques. Voir la capture d'écran:

Notes: Dans la formule, $A$2:$A$11 est la plage à partir de laquelle vous extrairez les valeurs uniques. J1 est la cellule au-dessus où se trouve votre formule.

Trucs: Si la formule est trop difficile à retenir et à manipuler, le Sélectionnez les cellules dupliquées et uniques utilité de Kutools pour Excel sera un bon choix pour extraire rapidement toutes les valeurs uniques d'une colonne.

Veuillez sélectionner la colonne contenant les valeurs uniques dont vous allez extraire. Puis activez l'utilitaire en cliquant sur Kutools > Choisir > Sélectionnez les cellules dupliquées et uniques. Dans le Sélectionnez les cellules dupliquées et uniques boîte de dialogue, sélectionnez le Tous uniques (y compris les premiers doublons) option et cliquez sur le OK bouton. Ensuite, toutes les valeurs uniques sont sélectionnées dans la colonne. Veuillez les copier et les coller dans un nouvel emplacement. Voir la capture d'écran:

Kutools pour Excel: avec plus de 200 compléments Excel pratiques, essai gratuit sans limitation dans 60 jours. Téléchargez et essayez gratuitement maintenant!

2. Insérez deux zones de liste séparément en cliquant sur Promoteurs > insérer > Zone de liste (contrôle ActiveX). Voir la capture d'écran:

3. Cliquez avec le bouton droit sur la zone de liste parent et sélectionnez Propriétés dans le menu contextuel. dans le Propriétés boîte de dialogue, modifiez le (Nom) champ à Boire ou tout autre nom selon vos besoins, entrez la plage de cellules contenant les valeurs uniques extraites dans le ListRemplirPlage et fermez la boîte de dialogue.

4. Répétez l'étape 3 pour modifier la deuxième zone de liste (Nom) champ à Item dans le Propriétés boite de dialogue.

5. Cliquez avec le bouton droit sur l'onglet de la feuille et sélectionnez Voir le code dans le menu contextuel. Copiez ensuite le code VBA ci-dessous dans la fenêtre Code. Voir la capture d'écran:

Code VBA: créer des zones de liste dynamiques en cascade dans Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

Notes: Dans le code Drink et Item sont les noms de deux list box, changez-les en vos propres noms.

6. appuie sur le autre + Q touches pour fermer le Microsoft Visual Basic pour applications fenêtre.

7. Désactivez le mode de conception en cliquant sur Promoteurs > Mode de conception.

À partir de maintenant, lors de la sélection de tout type de boisson comme le café dans la liste des parents, tous les articles de café seront affichés dans le second. Sélectionnez Thé ou Vin affichera uniquement les articles de thé ou de vin dans la deuxième zone de liste. Voir la capture d'écran:


Articles Liés:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Guest · 1 years ago
    Hi

    What does "Me" refer to in the code and how will the code change if I have a MultiSelect list box?

    Regards