Liste déroulante dynamique conditionnelle basée sur un tableau à 2 colonnes

Bonjour,

Je possède le tableau "Source bleu" avec 2 colonnes A et B, dont le nombre de valeurs varie selon l'actualisation d'une requête PowerQuery.
J'aimerais avoir une liste déroulante de B qui dépendrait de A.
Ainsi pour la cellule F5 les choix possibles seraient I;II;III;IV;V et pour F6 V;VI;VII;VIII;IX.

Je pense que la solution passe par la création au niveau du gestionnaire de nom de 2 listes. Est ce possible de créer plusieurs listes sur le même range du tableau "Source bleu" avec l'une avec 1 en A et l'autre 2 ?
Question subsidiaire, est ce possible avec Excel 2016 ? Merci

image

Salut,

pourrais-tu poster ce fichier ?

Bonjour

Il faut extraire via PowerQuery une liste de A sans doublons pour l'utiliser comme source de la 1ère liste puis utiliser une formule nommée à base de DECALER pour la source de la seconde liste

Merci à vous, voici mon fichier, j'ai maintenant 2 requêtes :
- celle de base une avec chaque valeur B de la colonne A
- celle avec une liste de A sans doublons, avec sa liste

Je regarde comment utiliser la formule DECALER, j'ai trouvé un tutoriel sur Ablebit appliqué aux versions d'excel d'avant Office 365.

3xlpratique.xlsx (19.51 Ko)

RE

7xlpratique2.xlsx (17.70 Ko)

Voir le gestionnaire de noms

Incroyable, on peut en plus ajouter autant de valeurs sur la liste A. Merci énormément, je vais maintenant essayer de comprendre comment ça fonctionne

J'hésite à en faire un nouveau sujet, est il possible d'appeler cette liste déroulante dynamique dans un combobox ? J'ai trouvé des VBA qui ajoutent un combobox à toute les cellules d'une feuille contenant une liste déroulante avec liste par "Validation des données" mais c'est incompatible avec cet INDIRECT.

Bonjour

Je n'ai pas utilisé INDIRECT...

L'équivalent de DECALER en VBA est offset

Oui tout à fait j'ai fait la confusion avec la VBA que j'avais trouvé où justement ça ne fonctionne qu'avec la fonction indirect. Grâce à votre réponse j'ai trouvé que le offset match countif (decaler equiv nb.si) est assez connu mais je n'ai pas trouvé d'adaptation en VBA pour faire une Combobox.

RE

Sub Exemple()
    A = 2

    With [Tableau4].ListObject
        Set ColB_ET = .HeaderRowRange.Cells(1, 2)

        Set Plage = ColB_ET.Offset(WorksheetFunction.Match(A, .ListColumns("A").DataBodyRange, 0))
        Set Plage = Plage.Resize(WorksheetFunction.CountIf(ColA, A), 1)

    End With
End Sub

A est la valeur sélectionnée dans la 1ère liste déroulante donc à adapter

Plage renvoie la plage pour alimenter la seconde liste

Rechercher des sujets similaires à "liste deroulante dynamique conditionnelle basee tableau colonnes"