UserForm_Liste_déroulante
Bonjour tout le monde
Voilà je viens vers vous car j'ai un fichier Excel qui regroupe des valeurs concernant des matériaux spécifiques utilisés pour des pièces particulières dans différentes feuilles (des bielles, etc ...) et le but de la macro est de venir récupérer ses valeurs pour une pièce et un matériau sélectionné.
Afin de rendre l'utilisation intuitive j'ai vu qu'il est possible d'utiliser des UserForm pour la sélection des données. Par exemple sélectionner la pièce choisie, sélectionner le matériau et d'autres données tout ça via la UserForm et des listes déroulantes en cascades.
Dans le fichier joint j'ai fait quelques tests mais découvrant le principe des listes en cascade et malgré les sites que j'ai visité (http://boisgontierjacques.free.fr/pages_site/formulairecascade.htm) et les sujets sur les combobox qui sont sur ce forum dont le plus récent, je n'y arrive pas :/
Je n'ai pas trop d'expérience sur VBA donc soyez indulgent sur le début de macro que j'ai fait ^^
J'ai fait à la fin du code VBA un bout de code qui représente ce que je souhaiterai faire c'est si vous avez besoin de plus de précision et aussi pour essayer de mettre un peu d'ordre dans mes idées xD l'info et moi ca fait 2
Je vous remercie par avance.
Bonne soirée
Bonsoir,
Je conseillerais de commencer par recomposer tes tableaux en un seul en bannissant toute cellule fusionnée.
Une ligne d'en-tête. Dans les premières colonnes, les valeurs seront répétées autant de fois que nécessaire...
C'est à partir de là que tu pourras obtenir des listes cascade fonctionnelles : choix sur des valeurs uniques de la 1re colonne, liste de choix suivant constituée par les items correspondants à la valeur du 1er choix, ramenée à une liste d'éléments uniques si répétition, même chose à la suite, en cascade !
Cordialement.
Bonjour MFerrand,
Si j'ai bien compris il faudrait que par exemple j'enlève sur la ligne 1 par exemple toutes les cellules fusionnées pour inscrire sur chaque colonnes de la ligne 1 correspondant à un matériau le nom général du matériau en question ?
J'ai une autre question car en fait j'ai du mal à voir où inscrire le code qui permettrait par exemple si l'utilisateur choisi tel matériau (via la liste 2eme liste deroulante) de laisser apparaître dans la liste deroulante 3 juste les noms des sous-catégories du matériau sélectionné.
En regardant des exemples si je veux rentrer les noms qui figurent dans les listes de roulantes directement en code vba il faut le faire dans la combobox dédiée est-ce bien ça ?
Pour ce qui est de rassembler tous les tableaux en un seul je préférerai garder cette disposition pour plus de commodité c'est à dire si je veux voir sur la pièce 2 je vais à la page dédiée à celle-ci mais c'est peut être me compliquer la vie avec le code. Mais comme je ne suis pas un grand habitué de ce langage je ne vois pas trop la difference :/
Cordialement
Je regarde ton tableau :
1) Acier - Titane - Plastique -Composite
Voilà qui paraît être un premier champ. Intitulé : ?
2) 2e champ : Nom matériau me semble-t-il. J'y vois :
INCO718_V1 - 17-4 PH1150 - TA6V Die - T40 -T60 - TA6V _ annealed - T30 - TA6V HMD - Plastique_1 - Plastique_2 - Compo_1
Ensuite, je me perds entre ce qui peut ou doit être un intitulé de champ et le contenu de ce champs !?
Autrement dit, pour moi tes tableaux sont incompréhensibles, et quand tu parles de Pièce je n'ai aucune idée de ce que cela signifie en regardant ton tableau...
Or si tu amorces et poursuis un tableau tel que j'ai cru en déceler les deux premiers champs, je devrais, sans aucune connaissance dans la matière traitée, comprendre immédiatement ce que signifient les indications du tableau et pouvoir m'en servir.
Une hiérarchie de choix successifs me conduisant aux données que je veux obtenir apparaîtra d'elle-même... Mais pour l'instant je suis incapable de dire quel choix est dépendant de quel autre choix...
Cordialement.
En effet en y regardant de plus près ce n'est pas très clair et je m'en excuse. J'ai le chic pour faire des choses que seul moi peut comprendre ^^.
Voici un nouveau Excel plus détaillé et plus ordonné je l'espère pour déjà remettre de l'ordre dans tête et peut être rendre le fichier plus compréhensible pour celles et ceux qui souhaiteraient se pencher dessus.
Cordialement
Cela ne sera pas suffisant pour me doter d'une connaissance dans ce domaine... !
Mais je n'en ai pas besoin : mon problème est d'avoir une base de données qui structure les informations en champs procédant les uns des autres jusqu'au stade ou la ligne de la base devient unique...
Exemple : Champ1 : 2 caractérisques : A B
Champ2 : A se diversifie en AA et AB - B se diversifient en BA et BB
Champ3 : AA va se ramifier en AAa et AAb - AB en ABa ABb ABc ABd ABe ABf - BA en BAa et BAb - BB en BBa
Le Champ4 peut encore élargir l'aborescence, mais supposons qu'à partir de ce champ les informations deviennent unique pour chacun des champs suivant.
Nous voyons que l'information A du champ1 va se trouver sur 8 lignes et l'information B sur 3 lignes...
Si on choisit A niveau champ1, on aura le choix entre AA et AB niveau champ 2, si on choisit AB cela ouvre le choix entre 6 possibilités niveau champ3, en cascade. Au-delà le 3e choix implique une détermination unique des infos qui n'ont plus qu'à être appelées.
2 feuilles n'ont pas d'utilité, la structure des informations étant la même... Une seule base structurée de la façon indiquée offre un accès rapide et fiable. Le cas échéant on extrait des listes de choix sur une autre feuille pour permettre d'accélérer les procédures.
Mais une base n'est pas un outil de présentation. La présentation tu l'affiches ailleurs, à partir des données de la base (qui te permet d'accéder à toute information qu'elle contient, pour la présenter comme tu l'entends).
Autrement dit, si tes tableaux peuvent intéresser quelqu'un qui s'intéresse ou a à travailler sur les matériaux, c'est un fouillis complet pour travailler avec en extrayant des informations successivement, aucune procédure homogène ne peut être mise en place...
Il te faut donc une base (que tu n'auras pas à regarder ! ni moi d'ailleurs !) mais de laquelle on extrait à tout moment sans se tromper toutes les infos demandées avec des procédures simples et identiques, donc les plus rapides...
Donc la base, c'est une feuille, on commence de préférence à A1, la première ligne est pour les intitulés de champs (ou colonnes), les lignes suivantes pour les données, chaque ligne étant un enregistrement, pas de vide autant que possible (en tout cas pas dans les premiers champs pouvant contenir des infos répétées sur plusieurs lignes), pas de fusion, pas de mise en forme particulière (au plus juste pour faire ressortir la ligne d'en-tête), et pas de couleurs ni de bordures (si on peut l'éviter c'est le mieux, et on peut l'éviter !)
Cordialement.