Arbre décisionnel sur plusieurs formulaires

Bonjour à toutes et à tous,

Je souhaiterais votre aide pour le problème suivant :

J'essaye de créer un arbre décisionnel assez complexe qui nécessite beaucoup de références (un point de départ par ligne puis des divisions dans plusieurs directions, comme un arbre, d'où le nom). Pour une question de lisibilité, tout ne peux pas tenir sur un seul formulaire, mais commence sur le premier, puis se continue sur le second ou éventuellement dévie sur un troisième, etc. C'est le principe.

Je souhaiterais toujours pour une question de lisibilité que les 3 premiers items (ComboBox et TextBox), soient reconduits sur les 3 premiers de chaque formulaire secondaire sous forme de TextBox (ou label puisque invariable pour chaque ligne), qu'on puisse enregistrer ce début ; que sur le deuxième formulaire et/ou le troisième on poursuive le premier et les enregistrer. Et ainsi de suite si le questionnaire se prolonge. Donc :

1- transfert de l'en-tête sur les formulaires suivants et pouvoir revenir au premier à partir des suivants

2- faut-il enregistrer les données des formulaires suivants sur la même ligne que le premier ? ou créer une nouvelle feuille pour chaque formulaire

3- il serait utile d'avoir un n° de référence unique pour chaque ligne de type "yy * 1000 + x" ( laquelle peut changer de niveau puisque classement alphabétique (je n'ai jusqu'alors réussi à faire que des boucles )

J'ai fait un modèle (en pj) très simplifié de ce que souhaiterais obtenir (mélange de TextBox, ComboBox CheckBox et OptionButton)

mais comme je ne suis pas doué, il apparaît divers problèmes :

1- la liste déroulante ComboBox1 affiche toujours un chiffre dont je ne vois pas l'origine, et parfois, elle n'affiche que les TextBox et pas les ComboBox (je n'ai toujours pas compris d'ou partir dans les boucles)

2- le nouvel enregistrement s'affiche sur 2 lignes dans la base

3- le nouvel enregistrement n'apparaît pas dans la liste de la ComboBox

4- je n'arrive pas à passer du premier formulaire au second, je ne trouve pas le bug

J'ai bien conscience que c'est un problème complexe et j'ai fait de nombreux essais depuis un mois, sans résultat

Je remercie par avance ceux qui voudront bien se pencher sur le problème.

Cordialement

pedro89

313arbre-dcid.xlsm (40.73 Ko)

Bonjour à toutes et à tous,

suite à mon message précédent, j'ai découvert que le nombre qui s'affichait au lancement dans le ComboBox1 était généré par le compteur de lignes, sans doute mal placé après UserForm_Initialize. Une fois cette ligne de code supprimée, il a disparu.

Par contre on voit bien quand on laisse la base en arrière-plan que le choix en ComboBox1, s'affiche sur la première ligne de la base, mais que pour la colonne A, alors que dans le Formulaire toutes les colonnes sont bien représentées.

Pour bien comprendre la motivation de ma requête (feuille unique ou 1 feuille par formulaire pour stocker la suite d'infos), sur les formulaires 3 et au-delà, il y a un dizaine de situations différentes évaluées en divers degrés d'intensité pour lesquelles il sera proposé au moins 4 solutions, ce qui fait une centaine de propositions. Les listes en cascade ne convient pas car les réponses nécessitent de la réflexion et donc un affichage permanent. Les choix validés seront ensuite affichés sur un autre Formulaire dans des TextBox (AdItem) qui se résumeront à quelques lignes. Il n'y aura aucun accès aux feuilles.

La difficulté - pour moi - est donc de pouvoir garder le lien entre les différents formulaires et leur enregistrent (fil unique entre le point de départ du premier formulaire et le résultat du dernier) d'où l'intérêt du NumRef unique.

J'avais essayé de mettre les 3 premiers items du Formulaire1 (Carte1) sur une table temporaire et d'y faire appel à l'ouverture des formulaires suivants, mais je ne sais comment faire leur enregistrement ensuite sur la même ligne de la Base où sur d'autre feuilles et pouvoir revenir en arrière (de Carte3 vers Carte2 ou Carte1)

Merci de m'avoir lu et merci d'avance pour vos lumières.

pedro89

Bonjour,

Afin de limiter le nombre de formulaires, tu pourrais utiliser des contrôles "Multipage" et dans ce cas, les contrôles devant rester visibles tout le temps seraient sur le formulaire (au dessus du Multipage par exemple) et les autres seraient sur les différentes pages du Multipage et ces dernières seraient afficher en fonction des choix !

Bonjour,

Merci pour cette réponse, mais j'ai très simplifié le projet que j'ai envoyé et j'utilise déjà des multi-pages (1 dizaine dans le projet final).

J'ai besoin de plusieurs formulaires car ils n'ont pas du tout la même structure et c'est important pour la compréhension et le développement du processus.

Bonjour,

J'ai regardé peut-être un peu vite l'allure de ton projet, mais je ne vois pas de finalité très précise s'en dessiner...

Tu parles d'arbre décisionnel, ok ! Qui dit arbre dit ramifications engendrées par des "décisions" exclusives l'une de l'autre, ce qui implique des dépendances des "décisions" possibles à un niveau par rapport à la décision du niveau précédent, dépendances que tu sembles exclure...

En tout cas, le principe est logiquement de suivre un chemin à partir du "tronc"...

Quel que soit l'objet de la chose, la conceptualisation méthodologique me conduirait à une voie quelque peu différente de celle que tu empruntes !

Un seul formulaire n'affichant que les choix possibles au niveau où l'on se trouve (ou demandant la saisie d'informations liées à ce niveau), indiquant le niveau où l'on est d'une part, et affichant le chemin suivi pour y parvenir d'autre part, plus les commandes pour naviguer dans un sens ou l'autre...

Cordialement.

Bonjour,

merci pour votre analyse, mais comme je l'écrivais dans le second message, le modèle envoyé est extrêmement loin de la réalité. Il y a d'abord une analyse de certaines conditions pour répondre ensuite au questionnaires suivants. Comme je l'évoquais vaguement, la carte3 (vraiment très schématisée) comprend des boutons pour les premiers choix puis ensuite des cases à cocher qui renvoient vers d'autres formulaires, etc. et rien que sur la carte3, 200 réponses possibles mais à partir de plusieurs décisions : le questionnaire n'est pas complètement linéaire comme un jeu ou l'on progresse par étapes, mais c'est un ensemble de réponse qui va conduire à la proposition suivante.

En fait je ne questionnais pas vraiment sur la stratégie à employer pour finaliser le projet (bien que je sois ouvert à toutes les critiques ou suggestions) mais j'attendais plutôt des réponses aux questions bassement matérielles des points 2, 3 et 4 du premier message (j'ai trouvé la solution au point n°1) sur lesquels je me heurte depuis des semaines (tout en continuant le développement du reste). Sans doute des problèmes élémentaires que je suis encore incapable de résoudre et ce n'est pas faute d'avoir cherché sur le Net, mais je n'ai encore jamais trouvé une démonstration claire et précise de l'usage des listes déroulantes ou en tous cas je ne l'ai pas comprise.

Je précise aussi que ce questionnaire (que j'ai appelé arbre décisionnel, puisqu'il y a une progression dans les questions, s'adresse à des enfants pour lesquels une progression (donc un changement de formulaire) est importante (comme une récompense).

Donc, si je suis votre raisonnement, c'est peut-être plus simple d'avoir une seule feuille de Base, mais j'aimerais bien pouvoir envisager aussi la solution de plusieurs formulaires.

Merci pour cette réponse rapide.

Cordialement

pedro89

Juste sur ta dernière remarque : un seul formulaire qui change à chaque étape, ou plusieurs... c'est transparent pour l'utilisateur.

Pour lui, s'il voit un changement, c'est que ça change !

Cordialement.

Vous avez parfaitement raison ! mais je ne suis déjà pas capable de faire le lien entre plusieurs formulaires, alors en faire un seul avec tout le cheminement prévu me semble encore plus complexe.

Pouvez-vous m'aider s'il vous plait à résoudre les problèmes 2, 3 et 4 ou m'expliquer ce que je n'ai encore pas compris ou comment faire (ce qui serait encore mieux) ?

Je vous remercie pour votre attention.

Cordialement

pedro89

Bonjour,

Pour clarifier ma demande, j'ai choisi les termes d'arbre décisionnel parce que je ne voyais pas une façon simple de décrire le projet qui consiste en un questionnaire décrivant des situations variées auxquelles il faut donner une réponse pour progresser et passer l'étape suivante. Les réponses sont proposées dans des listes de choix (ComboBox, CheckBox ou OptionButton) afin qu'elles puissent être comparables, les TextBox n'étant là que pour expliciter si nécessaire le choix de la réponse, les situations étant exposées dans des Labels. Les possibilités de réponses et leur combinaison vont en s'élargissant (d'où l'arbre).

Mais il ne s'agit pas d'un arbre "vertical", mais "horizontal", les réponses pour la même personne (même Id) devant s'inscrire sur une seule ligne dans la Base sur une ou plusieurs feuilles ( d'où même NumRef).

Par ailleurs les situations et leurs possibilités de réponses ont déjà fait l'objet d'un développement "papier" considérable en raison duquel il semble difficile de faire aujourd'hui table rase.

Mes demandes sont donc très terre-à terre, capitales pour moi mais certainement vulgaires pour vous.

Merci de m'avoir lu jusque là.

Cordialement

pedro89

Bonjour à toutes et à tous,

J'ai résolu mon problème en utilisant plusieurs formulaires, mais enregistrés à la suite sur la même page, la ligne active me servant de lien entre les différents formulaires.

Merci pour vos conseil (en particulier MFerrand).

Cordialement

pedro89

Rechercher des sujets similaires à "arbre decisionnel formulaires"