XL 2019 Listes en cascade dont la 1ere qui reprend les onglets d'une autre classeur

Toto73500

XLDnaute Nouveau
Bonjour,

Voici plusieurs jours que je cherche sans trouver la solution à mon problème...
J'espère qu'une âme charitable saura ou pourra m'aider ! :)

Voici le problème :

J'ai 2 classeurs Excel, le 1er me sert à calculer un prix, le second contient la base de donnée des articles.
Le second classeur (la bdd) est organisé comme ceci : J'ai des onglets par type de prestation (Buffet, Commode, Cuisine...), dans chaque onglet un tableau avec des matériaux (bois, métal, PVC...) et pour chaque matériaux plusieurs coloris (Rouge, Noir, Blanc...), le nom du fournisseur, et son prix.

Je souhaiterai à partir du 1er classeur avoir 3 listes déroulantes en cascade avec la 1ère liste qui contiendrait les onglets (Buffet, Commode, Cuisine...), la deuxième liste déroulante le matériaux (bois, métal, PVC...), la troisième le coloris (Rouge, Noir, Blanc...). Le prix et le fournisseur viendraient se compléter automatiquement par la sélection de ces 3 listes.

J'arrive à faire des listes en cascade mais c'est la 1ere liste qui m'embête du fait que je n'arrive pas à récupérer les onglets de l'autre classeur et ensuite de m'en servir comme 1er filtre pour la liste suivante... Si vous avez des pistes, idées... etc... je suis preneur :) (so possible sans VBA)

Merci !

Jerome
 

djidji59430

XLDnaute Barbatruc
Bonjour à tous,

Pour utiliser le nom de l'onglet dans une formule, il te faut utiliser la fonction indirect().
Or celle ci ne fonctionne pas avec des classeurs fermés.
Est ce vraiment indispensable d'avoir 2 classeurs ?
Alors qu'il serait plus judicieux d'en avoir qu'un seul ?

D'autre part,
Un fichier (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur le forum permettrait aux intervenants de répondre plus précisément à ta question.

Crdmt
 

Toto73500

XLDnaute Nouveau
Bonjour,

Merci pour ta réponse. J'ai besoin de 2 classeurs un qui sert à calculer (calcul.xlsm) et l'autre de base de donnée (config.xlsx). La base de donnée sera mise à jour régulièrement avec modification des tarifs, ajout de produits...

J'arrive donc à récupérer les infos du classeur config dans le classeur calcul, à les trier (dans l'onglet "admin" du classeur calcul), mais je n'arrive pas à lier la deuxième liste (Liste Choix1) à la première... (dans l'onglet calcul).

Merci pour votre aide !
 

Pièces jointes

  • calcul.xlsm
    19.5 KB · Affichages: 15
  • config.xlsx
    13.2 KB · Affichages: 4

chris

XLDnaute Barbatruc
Bonjour à tous

Une autre solution est d'utiliser PowerQuery combiné à un peu de VBA

Le code a été fait en partant du principe que la saisie se fait dans un tableau mais on peut limiter à une ligne et simplifier un poil

Modifier le chemin d'accès dans l'onglet PowerQuery
La liaison avec config est mis à jour à l'ouverture : on peut régler la fréquence
 

Pièces jointes

  • Calcul_PQ.xlsm
    36.8 KB · Affichages: 7
Dernière édition:

Toto73500

XLDnaute Nouveau
Bonjour,

Merci beaucoup ! Je ne maitrise pas PowerQuery et le fichier me fait planter Excel une fois ouvert :-/

J'ai adopté ta solution djidji59430 qui fonctionne presque parfaitement :)
En fait j'ai juste un problème quand je sélectionne par exemple un buffet en bois ou une commode en bois dans la deuxième liste, j'ai alors les couleurs du buffet ET de la commode dans la troisième liste. Je pense que c'est lié au fait que le deuxième choix utilise le même nom (ici "Bois").

Il y a-t-il moyen de dissocier les 2 ?
Merci pour votre aide précieuse !
 

Toto73500

XLDnaute Nouveau
Bonjour

Planter ou un message d'erreur indiquant que tu n'as pas mis le dossier à jour sur l'onglet PowerQuery et qu'il ne trouve pas les données ?

Testé sur 2 PC avec des versions diffrérentes de Wndows et d'Excel sans problème...

En fait j'ai ceci lorsque je veux sélectionner une couleur :

error.jpg


Re
Dans ton fichier, il n'existe pas de commode en bois. elles sont en
JUTE
PAPIER
PLEXI
ALU
D'ou tu sors ça ?

Au temps pour moi, j'ai ajouté des lignes à ma BDD et il se trouve que certaines combinaisons se croisent comme le Bois :-/ A la limite ça n'est pas très grave, je vais contourner le problème en mettant Bois_ au lieu de Bois dans l'une des 2.

Je suis en train de mettre le nez dans tes modifications et je m'arrache le peu de cheveux qu'il me reste ! :) mais c'est super intéressant. En fait ce tableau n'est que le début de mon tableau de calcul des coûts pour différentes prestations, j'avance pas à pas...

Par contre pour me faciliter la tâche je m'aperçoit qu'il me faudrait avoir 7/8 lignes les unes au dessous des autres de ces 3 listes afin de pouvoir rentrer tous mes composants. Je les ai dupliquées mais les liens entre les lignes se "perdent". Ca me semble logique mais je ne vois pas comment ne pas faire une usine à gaz en continuant avec cette méthode sans VBA...

Et c'est le drame, je m'aperçoit que mon tri (dans l'onglet admin) ne se fait pas bien dans "Liste Choix 1", il me manque des lignes (apparemment une seule de mes plages dynamiques que j'importe est prise en compte...). Là par contre je ne vois pas pourquoi ça ne fonctionne pas...
 

Pièces jointes

  • calcul.xlsm
    26.9 KB · Affichages: 5
  • config.xlsx
    14.9 KB · Affichages: 2

djidji59430

XLDnaute Barbatruc
Au temps pour moi, j'ai ajouté des lignes à ma BDD et il se trouve que certaines combinaisons se croisent comme le Bois :-/ A la limite ça n'est pas très grave, je vais contourner le problème en mettant Bois_ au lieu de Bois dans l'une des 2.

pb résolu.


lignes les unes au dessous des autres de ces 3 listes afin de pouvoir rentrer tous mes composants. Je les ai dupliquées mais les liens entre les lignes se "perdent".

Ça, je ne comprends pas car toutes tes listes sont dynamiques
met un fichier exemple avec ton "erreur"

pour le rapatriement de tes données, la je ne pourrais t'aider
 

Pièces jointes

  • calcul_v3.xlsm
    26.1 KB · Affichages: 6

Toto73500

XLDnaute Nouveau
Merci !

En fait, c'est dans le fichier calcul de mon précédent post.

Pour la première des lignes, pas de souci, les listes sont bien liées entre elles, ça fonctionne.
Pour les lignes suivantes, les deuxièmes et troisièmes listes reprennent les choix de la première ligne, je n'ai pas les matières et couleurs correspondantes.

Pour le rapatriement des données j'ai compris mon erreur, ça fonctionne :)
 

Toto73500

XLDnaute Nouveau
Bonjour,

Tous mes problèmes sont résolus après moultes essais ! Pour les liens entre les listes, j'ai dupliqués les noms de champs, les listes autant de fois qu'il y a de lignes de listes.

Je voulais vous remercier pour votre grande aide !
Très bonne journée à vous !
 

Statistiques des forums

Discussions
290 834
Messages
1 910 792
Membres
176 869
dernier inscrit
veusavoir
Haut Bas