XL 2016 Listes déroulantes et cellules conditionnées

egt

XLDnaute Nouveau
Bonjour à tous,

J'ai pour projet de vulgariser un cahier des charges en proposant des fiches de synthèse qui vont automatiquement se consituer à partir de données présentent dans différents onglets.

Les items de ce cahier des charges possèdent plusieurs dimensions toutes liées par des index : Prestation, Entrée, Exigence, Action, livrable...avec des relations de 1 à n en cascade. Le fichier en pj sera plus parlant

Je souhaite dans un formulaire ,constitué de plusieurs listes déroulante conditionnées, naviguer dans ma structure pour obtenir le résultat de toutes mes dimensions pour une prestation attendue.
A noter que l'outil doit tourner sur Excel 2016 donc sans les nouvelles fonctionnalités hyper pratiques tel que FILTRE

J'espère que le fichier est plus clair que mes explications :)

A bientôt
 

Pièces jointes

  • exemple EGT.xlsx
    89.2 KB · Affichages: 6

vgendron

XLDnaute Barbatruc
Hello

Je ne comprend pas bien (voire pas du tout) ton fichier
il y a tout un tas de plages nommées dynamiquement (tu pourrais alléger en utilisant des tables structurées: voir PJ)

ensuite, ta feuille "inter"... elle sert à quoi?
dans ton formulaire.. pas compris le besoin..
en D3, pour exemple d'utilisation des tables, j'ai modifié la liste de validation pour alimenter directement avec le contenu de la table "t_Prestation"

voir PJ pour les tables avec des noms explicites comme tu sembles savoir le faire
 

Pièces jointes

  • exemple EGT.xlsx
    93.7 KB · Affichages: 2

egt

XLDnaute Nouveau
Hello, Merci pour ta réactivité
Je savais que je n'avais pas été très clair :)

Tout d'abord, OUI j'aurai pu utilisé des tables structurées mais j'ai voulu intégré volontairement une compatibilité descendante pour garantir un fonctionnement avec les versions d'Excel les plus anciennes que je rencontre régulierement. Mais pour plus de facilité n'hésitons pas à passer par des tables strcuturées.

Pourquoi autant d'onglets ? la finalité du projet est d'être porté en base de donnée si l'intérêt l'emporte.
Il faut voir les onglets comme des tables reliées par des clés = Prestation.Numero, Métrique.Numero...

La structure est un arbre à plusieurs branches et sous-branches

L'objectif est de tenter de modéliser sa branche et ses sous-branches pour quelle soit facilement compréhensible

Exemple :
Je choisis la fonction 1
On me propose alors les prestations 1.01, 1.02...
Je sélectionne la prestation 1.01
Alors me sont affichés :
- les entrées attendues classées par type et contexte
- l'ensemble des exigences
- les actions classées par contexte
- les livrables
- les métriquesque je vais povoir également choisir pour atteindre les différentes sous-branches "Metrique.Numero"

Effectivement le formulaire n'est sans doute pas representatif de la fiche qui permettrait de rassembler toutes ses infos

Pourquoi l'onglet "Inter" ? un onglet de travail qui aurait pu me permettre de constituer dynamiquement les listes nommées pour composer mes listes déroulantes en fonction des choix précédent mais j'ai clairement pas les compétences nécessaires...si tant est que cela soit la solution
 
Dernière édition:

vgendron

XLDnaute Barbatruc
regarde en PJ
tu choisis la fonction, les éléments associés dans le cadre "Prestation" sont remplis avec du index equiv

ensuite, dans la feuille "Inter", de quoi alimenter la liste "Entrée-Type"
normalement, ca devrait pouvoir etre fait directement dans la liste de validation.. mais.. je sèche.. je ne trouve pas comment
 

Pièces jointes

  • exemple EGT.xlsx
    89.1 KB · Affichages: 4

egt

XLDnaute Nouveau
Bonjour et merci pour les pistes évoquées, elle m'ont permis de progresser.
Une question à propos de la formule matricielle que tu as proposé :

=SIERREUR(INDEX(t_Entrée[Entree.Type];PETITE.VALEUR(SI(t_Entrée[Entree.Prestation.Numero]=Formulaire!$D$5;LIGNE(t_Entrée[Entree.Type])-1;"");LIGNE()-1));"")

Comment faire pour qu'il n'y ait pas de doublon dans le résultat de cette fonction ?


En te remerciant
Eric
 

egt

XLDnaute Nouveau
Effectivement la solution est donnée (ci-dessous) mais je suis bien incapable de l'appliquer à ta formule :(

=INDEX(Ma_Colonne;PETITE.VALEUR(SI(FREQUENCE(SI(Ma_Colonne<>"";EQUIV(Ma_Colonne;Ma_Colonne;0)); LIGNE(Ma_Colonne)-LIGNE($B$2)+1);LIGNE(Ma_Colonne)-LIGNE($B$2)+1);LIGNES(I$2:I2)))

Ton aide serait vraiment la bienvenue
 

Statistiques des forums

Discussions
313 769
Messages
2 102 234
Membres
108 181
dernier inscrit
Chr1sD