Vba combo multiples successifs ... je sèche

Résolu/Fermé
7808622H Messages postés 292 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 19 mai 2018 - 3 janv. 2013 à 19:52
7808622H Messages postés 292 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 19 mai 2018 - 9 janv. 2013 à 21:33
Bonjour,

Bonjour

J'ai un souci de Vba sous excel (version 2002 pour info) et je sèche ..... l'explication va peut etre pas être super claire

Dans le fichier joint, j'ai créér un formulaire, que j'ai plutôt bien avancé

j'ai un gros souci pour la dernière partie que je dois faire.

Le principe se base sur les données de la feuille "Base" des colonnes N à BW


En gros ce que je cherche a faire c'est d'ouvrir successivement des champs de listes déroulantes (le nom de chaque liste est repris en vert dans chacun des tableau de la feuille base pour s'y retrouver)

Plus précisément j'ai un champs au départ qui correspond a la DESTINATION nature de prestation

Selon le choix que je fais cela doit faire apparaitre un autre champs dont les données sont reprises sur les colonnes Q a BW

Le hic c'est que dernière j'ai encore des choix a faire pour faire réapparaitre selon les cas un autre champs de liste , et éventuellement un champs libre ( cette info est indiquée en dessous de chacun des tableaux de détail)


Par Exemple

Si je sélectionne PRAUT, cela doit me faire apparait la liste du detail PRAUT. si dans cette deuxieme liste ,je choisi AUTRE, il faudra qu'un champs libre apparaisse

Autre Exemple plus complexe:

Si je sélectionne PREAE , je dois avoir la liste de détail PREAE qui apparait, et si dans cette liste je sélectionne AUT il faut qu'une troisième liste apparaisse avec la liste des entités opération ( tableau repris en dessous avec l'entête verte les codes commencent par PC...) + un champs libre

Etc .... pour la totalité des codes repris

Et là j'avoue j'ai pas la moindre idée de comment gérer ce mic mac

Est ce que quelqu'un peut m'aider

Sachant que le tout doit se reporter sur la feuille DossContrat dans les cellules J41 à J44 selon les cas

Et voila le bourbier ..... HELP !!!!!! please ;-)

enfin si quelqu'un peut me trouver un truc pas trop compliqué a comprendre, je tatonne pas mal, mais je cherche aussi de mon coté

En tout cas merci beaucoup si vous avez une solution pour moi, et également a ceux qui auraient essayé

Et voila le fichier qui tue :

http://cjoint.com/?0AdtYSVmMP2

Je reste a votre disposition si c'est pas claire ( et franchement je comprendrais , c'est pas facile a expliquer non plus)



3 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
3 janv. 2013 à 20:04
Bonjour,

Disons que ça aurait été mieux si tu avais prévu qu'on veuille quitter le formulaire...
eric
0
7808622H Messages postés 292 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 19 mai 2018 4
Modifié par 7808622H le 3/01/2013 à 20:13
Bonjour Eric

Comment ca ??? je reste ouvert a modifier le principe du formulaire tel qu'il est a ce jour si cela peut aider, je ne susi pas fixé sur l'etat du fichier, j'ai juste procédé selon mes connaissances en Vba et l'aide que tu m'a déja apporté pour les nombres de caractere

CED
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 3/01/2013 à 22:43
En fait c'est qu'il plante à l'ouverture (un textbox absent) et impossible de fermer la boite de dialogue vu que le débogueur restait actif derrière...
Mais bon, j'ai réussi à voir ce que je voulais.

Une suggestion : à gauche des code concernés mettre une série de codes séparés par de virgules.
Ex en T6: $U14:V21,1
à la sélection de ce choix récupérer ce code et le spliter sur la , et pour chaque code :
- si commence par $ : rendre visible la combox 'Entité opération' initialisée avec la liste en U14:V21
- si nombre : 1=rendre visible code opération, 2= rendre visible autre objet, etc
à toi de te créer une liste de significations pour les codes.

Vu que tu as une meilleure vision de la cascade de tes listes regarde si c'est réaliste ou si ça demande à être completé.
eric


Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
7808622H Messages postés 292 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 19 mai 2018 4
4 janv. 2013 à 01:36
Arfff ok je suis une courge : j'ai renommé le combo9 en C_Designnature pour a la base faciliter le truc mais du coup j'ai complétement zappé de le changer dans le code, toutes mes excuses

Alors concrètement tu m'as totalement perdu après " Une sugestion : "
récuperer un code ? le spilter sur la , ? je suis perdu :-(

je ne saisi pas du tout ce que je dois faire ( ouep je sais c'est pas gagné sur ce coup là, mais je l'avoue je suis vraiment blond)

Ce que je te propose c'est que tout a l'heure au bureau je vais faire un schéma plus simple et j'espère assez clair de la cascades des listes sous forme de schema réél

Je vais créer aussi tout les combo et textbox nécessaires qui piocheront déjà les infos en précisant leur nom directement aussi sur le schéma , en espérant que cela sera moins nébuleux ... je l'admet quand on connait pas le truc c'est pas forcément simple a comprendre, mais ca je m'en doutais , en plus même moi je suis pas franchement sur d'avoir été super clair

Ce qui est sur c'est que tout part du combo C_Designnature (ex combo9) seloon le chois que l'on y fait

Je te remet tout ca en ligne demain dans la journée si je ne suis pas pourri par le boulot, sinon dernier cara je passe ma soirée de demain a préparer ca

En tout cas merci pour le début .... même si j'ai absolument pas saisi le "comment je dois faire tout ça

Céd
0
7808622H Messages postés 292 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 19 mai 2018 4
Modifié par 7808622H le 4/01/2013 à 02:43
Déja voila le schema j'ai pré-nommé les champs je m'occupe de les créér et je te reposte le fichier de base une fois fait

https://www.cjoint.com/?0AecMUef2py

j'ai juste anticiper au cas ou j'ai des codes en plus l'an prochain, j'ai créé aussi un cas W X Y et Z dans les natures de bases, je laisserais les emplacements vides en réalité mais au moins ils seront pret au cas ou

bonne journée

Céd
0
7808622H Messages postés 292 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 19 mai 2018 4
Modifié par 7808622H le 4/01/2013 à 10:13
Par contre une petite question bête mais je n'ai jamais eu le cas

Dans un IF peut il y avoir plusieurs criteres?

par exemple pourrait on trouver un truc du genre

If c_destinnature.value= PREAE and c_detPREAEvalue = AUT then
c_detPREAEn2.visible = true

bon ca doit pas etresuper correcte dans la tournure mais est ce que ce genre de cas de figure est faisable ? si oui je pense que je pourrais résoudre tout le probleme avec un IF ( certe super méga long) .


PS: je suis en train de refaire le fichier avec la totalité des combo et zone de texte
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
4 janv. 2013 à 11:57
Bonjour,

oui tu peux combiner plusieurs tests dans un if et faire tes cascades en dur dans le code.
C'est plus rigide mais comme tu a l'air d'avoir bien analysé ton besoin ça sera plus simple à faire.
Tu peux aussi utiliser cette structure plus lisible s'il y a plusieurs tests sur une variable :
select case var1
case 1 
   'traitement 1
case 2,3,7
   'traitement 2
case "a", "e", "i"
  'traitement 3
case else
   'traitement 4
end select

eric
0
7808622H Messages postés 292 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 19 mai 2018 4
4 janv. 2013 à 13:24
bon pour le select case , je savais que ca existait mais j'avoue que je le connais pas

est ce que cela t'embeterai de me faire un exemple de code pour un des cas

par exemple sur le PRAUT

En gros si PRAUT est selectionné dans c_designnature cela fait apparaitre c_detPRAUT
Si dans le champs c_detPRAUT on selectionne AUTRE cela fait apparaitre T_nature
Par contre si on selectionne SUPOR le champs T_nature n'apparait pas

Je pense que si j'ai un exemple je pourrais réussir a adapter pour toute la série, si cela ne t'embete pas

j'ai terminé le fichier remis a jour le voila en pièce jointe :

https://www.cjoint.com/?0Aenxahhe3l


Si je n'y arrive vraiment pas, je retenterai le fichier avec du IF et en cas de souci je reposterai le fichier selon l'etat ou je bloque

Merci d'avance


Céd
0