Liste en cascade 4 niveaux

Bonjour

J'essaie de mettre en place une liste en cascade de 4 niveau via le VBA mais le resultat a compter de la 2eme colonne ne fonctionne pas.

Nous avons 4 colonnes, Zone, Country, Site, Code Client

La selectiond e la zone est bonne, mais le pays une fois la Zone selectionnée est incorrecte, ainsi que les autres selections Pour le Country et Code Client

Exemple si je choisi la zone APAC, seuls les Pays (colonne B onglet BD) dont la zone est APAC doivent etre selectionable, et ainsi de suite pour SITE et Code Client

Merci de votre aide

PJ un fichier d'exemple

Pour info je suis reparti d'un fichier mis en ligne par boisgontierjacques.free.fr

Bonjour,

cf PJ

jb

50dv4niveaux.zip (18.32 Ko)

Et voila

C'est ton enable events qui bloqué tout

Application.EnableEvents = False

Bonjour SophieB, bonjour le forum,

Le problème provient de la colonne " i " de la feuille " BD " qui est vide.

Elle devrait être une colonne avec des données sans doublons.

Une fois les données insérées dans la colonne " i ", ça semble bien fonctionner.

ric

Merci pour le retour

Toutefois, je peux mettre dans l'onglet CHOIX tel que proposé dans la reponse, plusieurs fois la ligne de la ZONE.

Or il semble que sur l'onglet choix je ne puisse mettre qu'une fois la meme ZONE

Exeple, je souhaite pouvoir mettre plusieurs ligne avec AMERICA avec le meme COUNTRY ou non

Bonjour,

cf PJ

Ceuzin

Merci CEUZIN, toutefois je dois pouvoir avoior plusieurs fois sur CHOIX, la ligne avec la meme zone

Bonjour,

ci-jointe une proposition avec utilisation d'une collection ArrayList (sans l'usage de filtres avancés).

Bonjour,

ci-jointe une proposition avec utilisation d'une collection ArrayList (sans l'usage de filtres avancés).

Bonjour Thev, comment fonctionne la solution, que je puisse la tester?

Merci

Bonjour SophieB, bonjour le forum,

Je viens de reprendre ton fichier de ton post1.

De la feuille BD, j'ai fait trier les colonnes ABCD avec 1er critère A, 2e B, 3e C et 4 D.

Tout s'est mis à fonctionner.

ric

Bonjour SophieB, bonjour le forum,

Je viens de reprendre ton fichier de ton post1.

De la feuille BD, j'ai fait trier les colonnes ABCD avec 1er critère A, 2e B, 3e C et 4 D.

Tout s'est mis à fonctionner.

ric

Merci

Mais il semble y avoir un pb de refresh car lorsque j'ouvre le doc et que je souhaite ajouter des lignes, les colonnes B à D sont vides.

Il doit s'agir d'un pb dans la boucle qui met à jour les H, I et J sur BD

Une idée pour le corriger?

Bonjour

Cet exemple date un peu...

Puisque tu as 2016, une autre approche :

  • la BD (colonnes A à D) est mise sous forme de tableau et basculée dans PowerQuery
  • Les diverses listes Zones, Countries, Sites et Clients sont automatiquement tirées de la base par requêtes et affichées dans le même onglet.
  • Ces diverses requêtes sont automatiquement recalculées à l'ouverture du classeur et lorsque qu'on quitte l'onglet BD (on suppose qu'on y a accédé pour une mise à jour) mais pas à chaque saisie dans DV comme dans ton exemple.
  • Le tableau de l'onglet DV est également mis sous forme de tableau structuré (ce qui permet de ne pas prévoir de validation sur des lignes non encore utilisées)
  • Choix1, Choix2 et Choix3 sont associés dynamiquement aux 3 premières colonne de la ligne en cours du tableau DV
  • Zones, Countries, Sites et Clients sont des plages nommées dynamiquement par DECALER à partir des requêtes de même nom
  • J'ai ajouté une RAZ des champs situés à droite de la modification d'un choix, y compris en multi sélection afin que le changement d'une valeur ne crée pas d'incohérence dans le tableau...
34cascade-sbu.xlsm (46.49 Ko)

Tu peux prendre ce fichier et coller ta BD (plus simple). Il n'y a rien d'autre à faire.

http://boisgontierjacques.free.fr/fichiers/DonneesValidation/ListeCascade4NivBDIncompleteHoriz.xls

Ceuzin

Bonjour Thev, comment fonctionne la solution, que je puisse la tester?

Très simple. Sur la feuille DV, sélectionner A2 et choisir une zone. Sélectionner ensuite B2, choisir un pays et de même pour les 2 colonnes suivantes.

A tous,

Parfait, merci bcp pour votre aide, la solution est trouvée

Re à tous

Une question qui me turlupine : j'aimerai savoir pourquoi avec 2016 on utilise du xls, périmé depuis 10 ans et du coup très limitatif ?

Bonjour,

A mon avis, pour des raisons de compatibilité de versions Excel hétéroclites sur les postes concernés.

Re

...A mon avis, pour des raisons de compatibilité de versions Excel hétéroclites sur les postes concernés.

Merci.

Cependant qu'une boîte renonce à 10 ans d'évolutions dont un certains nombre sont loin d'être des gadgets et permettent de gagner du temps et de la fiabilité, continue à m'interpeler...

J'ai bossé pour une boîte qui est resté en version de 2000 alors qu'on traitait des fichiers du monde entier qui auraient nécessité UNICODE...

On perdait des jours et des jours chaque mois... Il ont finalement migré vers 2010...

C'est un mauvais calcul...

Rechercher des sujets similaires à "liste cascade niveaux"