Vba combo multiples successifs ... je sèche
Résolu
7808622H
Messages postés
331
Statut
Membre
-
7808622H Messages postés 331 Statut Membre -
7808622H Messages postés 331 Statut Membre -
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)
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)
A voir également:
- Vba combo multiples successifs ... je sèche
- Excel compter cellule couleur sans vba - Guide
- Dépassement de capacité vba ✓ - Forum Excel
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
3 réponses
Bonjour,
Disons que ça aurait été mieux si tu avais prévu qu'on veuille quitter le formulaire...
eric
Disons que ça aurait été mieux si tu avais prévu qu'on veuille quitter le formulaire...
eric
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
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
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.
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.
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
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
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
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
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
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
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 :
eric
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
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
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