Combobox en cascade
Résolu/Fermé
lucieaup
-
12 août 2013 à 16:38
f894009 Messages postés 17229 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 janvier 2025 - 19 août 2013 à 10:38
f894009 Messages postés 17229 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 janvier 2025 - 19 août 2013 à 10:38
A voir également:
- Combobox en cascade
- Liste déroulante en cascade - Guide
- Cascade windows 11 - Guide
- Propriétés combobox vba ✓ - Forum VB / VBA
- Combobox vba liste déroulante dynamique ✓ - Forum Excel
- Vba combobox listindex ✓ - Forum VB / VBA
11 réponses
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
12 août 2013 à 16:59
12 août 2013 à 16:59
Bonjour,
Ce petit exemple pourra peut-être vous aider : https://www.cjoint.com/?3Hmq5Wg28EA
Ce petit exemple pourra peut-être vous aider : https://www.cjoint.com/?3Hmq5Wg28EA
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
12 août 2013 à 17:02
12 août 2013 à 17:02
Bonjour,
resumons les choses:
une combobox nom agriculteur
une combobox numero(s) de contrat (un ou plusieurs) fonction du nom agriculteur choisi
une combobox calibre (M ou L)
une textebox pour saisie poids
il y a bien un nom a cote de chaque contrat ou pas ???
A+
resumons les choses:
une combobox nom agriculteur
une combobox numero(s) de contrat (un ou plusieurs) fonction du nom agriculteur choisi
une combobox calibre (M ou L)
une textebox pour saisie poids
il y a bien un nom a cote de chaque contrat ou pas ???
A+
Bonjour,
Voici en pièce jointe mon fichier simplifié ou j'ai laissé que ce qui concerne ma question.
Ma combobox numéro de contrat n'est pas renseignée et celle qui concerne le calibre ne s'alimente pas correctement....
http://cjoint.com/?CHnjoTKvWDT
Merci à tous pour votre aide
Voici en pièce jointe mon fichier simplifié ou j'ai laissé que ce qui concerne ma question.
Ma combobox numéro de contrat n'est pas renseignée et celle qui concerne le calibre ne s'alimente pas correctement....
http://cjoint.com/?CHnjoTKvWDT
Merci à tous pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Je voie une truc comme ca
http://cjoint.com/?3Hnmr0TpE9f
pour enregistrement a toi de verifier
A+
Maurice
Je voie une truc comme ca
http://cjoint.com/?3Hnmr0TpE9f
pour enregistrement a toi de verifier
A+
Maurice
Bonjour,
Merci pour le fichier mais du coup ca ne prend pas exactement sa source dans mon fichier puisque si jamais je n'ai pas deux calibres, il me propose quand même les deux et ajoute la ligne en dessous.
En fait mon explication n'était peut être pas trés clare, je ne veux pas qu'il rajoute de ligne mais qu'il copie les valeurs de poids pour chaque agriculteur dans la bonne case de la colonne poids ( En face du bon numéro de contrat et donc du bon calibre)
Mais merci d'avoir passé du temps sur mon problème...
Merci pour le fichier mais du coup ca ne prend pas exactement sa source dans mon fichier puisque si jamais je n'ai pas deux calibres, il me propose quand même les deux et ajoute la ligne en dessous.
En fait mon explication n'était peut être pas trés clare, je ne veux pas qu'il rajoute de ligne mais qu'il copie les valeurs de poids pour chaque agriculteur dans la bonne case de la colonne poids ( En face du bon numéro de contrat et donc du bon calibre)
Mais merci d'avoir passé du temps sur mon problème...
Re
Modicication d'une ligne
avec une Listview jesper de ca marche avec ton excel
regarde si ca te va
http://cjoint.com/?3HnpcMa2ONn
A+
Maurice
Modicication d'une ligne
avec une Listview jesper de ca marche avec ton excel
regarde si ca te va
http://cjoint.com/?3HnpcMa2ONn
A+
Maurice
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
Modifié par f894009 le 14/08/2013 à 11:22
Modifié par f894009 le 14/08/2013 à 11:22
Bonjour lucieaup,
question:
Vous en dites quelques mot dans votre dernier message, une ou deux lignes pour le meme "nom": normal ou pas et pourquoi le meme n° de contrat ???
Comment ces lignes sont-elles saisies??
Je vous fais un fichier avec ce dont vous avez besoin.
A+
question:
Vous en dites quelques mot dans votre dernier message, une ou deux lignes pour le meme "nom": normal ou pas et pourquoi le meme n° de contrat ???
Comment ces lignes sont-elles saisies??
Je vous fais un fichier avec ce dont vous avez besoin.
A+
Bonjour,
Merci pour votre aide. je vais essayer d'expliquer clairement.
En colonne B j'ai le nom de mes agriculteurs qui est saisi, en colonne C j'ai leur numéro de contrat. Il se peut qu'un agriculteur ait plusieurs contrats. Durant le process, avec un numéro de contrat, on peut être amené à faire plusieurs calibres nommés M ou L et saisis dans la colonne O. J'ai déjà fait une macro qui ajoute une ligne en cas de deux calibres, le nomme et recopie le nom de l'agri, et son numéro de contrat.
Ce que je voudrais aujourd'hui, c'est que lorsque l'utilisateur va vouloir saisir son poid final, il appuie sur un bouton, un formulaire apparait avec deux première combobox, il peut saisir le nom de l'agri dans la première combo dans ce cas, la deuxième s'alimente avec le ou les numéros de contrat correspondant ou le numéro de contrat directement dans la deuxième et la remière s'alimente avec le nom de l'agri. En dessous, il y a une troisième combobox qui apparait avec le choix du calibre s'il y en a deux ou le calibre unique qui s'affiche. Une text box se remplie alors automatiquement avec le numéro de série (colonne Z) puis l'utilisateur saisi le poids. Ce poids doit se recopier colonne W sur la bonne ligne c'est a dire définie par l'agriculteur, le numéro de contrat et le calibre.
Une partie du code est déjà crée pour alimenter la première combobox et le formulaire aussi pour mieux comprendre. Tout est dans le fichier ci joint.
http://cjoint.com/?CHnjoTKvWDT
Encore une fois, merci beaucoup
Merci pour votre aide. je vais essayer d'expliquer clairement.
En colonne B j'ai le nom de mes agriculteurs qui est saisi, en colonne C j'ai leur numéro de contrat. Il se peut qu'un agriculteur ait plusieurs contrats. Durant le process, avec un numéro de contrat, on peut être amené à faire plusieurs calibres nommés M ou L et saisis dans la colonne O. J'ai déjà fait une macro qui ajoute une ligne en cas de deux calibres, le nomme et recopie le nom de l'agri, et son numéro de contrat.
Ce que je voudrais aujourd'hui, c'est que lorsque l'utilisateur va vouloir saisir son poid final, il appuie sur un bouton, un formulaire apparait avec deux première combobox, il peut saisir le nom de l'agri dans la première combo dans ce cas, la deuxième s'alimente avec le ou les numéros de contrat correspondant ou le numéro de contrat directement dans la deuxième et la remière s'alimente avec le nom de l'agri. En dessous, il y a une troisième combobox qui apparait avec le choix du calibre s'il y en a deux ou le calibre unique qui s'affiche. Une text box se remplie alors automatiquement avec le numéro de série (colonne Z) puis l'utilisateur saisi le poids. Ce poids doit se recopier colonne W sur la bonne ligne c'est a dire définie par l'agriculteur, le numéro de contrat et le calibre.
Une partie du code est déjà crée pour alimenter la première combobox et le formulaire aussi pour mieux comprendre. Tout est dans le fichier ci joint.
http://cjoint.com/?CHnjoTKvWDT
Encore une fois, merci beaucoup
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
Modifié par f894009 le 14/08/2013 à 12:16
Modifié par f894009 le 14/08/2013 à 12:16
Re,
Merci, pour les explications complementaires.
Courant apres-midi pour un fichier utiiisable
A+
Merci, pour les explications complementaires.
Courant apres-midi pour un fichier utiiisable
A+
Isatis21
Messages postés
12
Date d'inscription
mercredi 14 août 2013
Statut
Membre
Dernière intervention
14 août 2013
Modifié par Isatis21 le 14/08/2013 à 14:07
Modifié par Isatis21 le 14/08/2013 à 14:07
Bonjour,
Moi ce que je ferai c'est que je chargerai la deuxième combobox sur l'événement change de la première...
donc dans le combox1_change() je mettrais :
Je suis pas sur à 100% de mon code car je l'ai fait de tête et je n'ai pas toutes les méthodes vba en tête ^^
J'espère avoir aidé :)
Cordialement
PS: j'ai répondu qu'à la première des question ^^
La vie ne vaut rien mais rien ne vaut la vie
Moi ce que je ferai c'est que je chargerai la deuxième combobox sur l'événement change de la première...
donc dans le combox1_change() je mettrais :
dim nbLignes as integer dim i as integer 'on pense à remettre à zéro la combobox2 pour pas cumuler les données ComboBox2.Clear 'Je récupère le nombre de lignes utilisées dans la feuille visée nbLigne = feuil1.UsedRange.Rows.Count 'ou nbLigne = thisWorkBook.Sheets("NomFeuille").UsedRange.Rows.Count 'On balaye toutes les lignes utilisées for i = 1 to nbLignes 'Si le nom de la ligne en cour est le même que celui sélectionné dans la combobox1 alors on ajoute le numéro de contrat à la combobox2 if feuil1.Cells(i,2).Value = ComboBox1.Value then ComboBox2.AddItems feuil1.Cells(i,3).Value end if next
Je suis pas sur à 100% de mon code car je l'ai fait de tête et je n'ai pas toutes les méthodes vba en tête ^^
J'espère avoir aidé :)
Cordialement
PS: j'ai répondu qu'à la première des question ^^
La vie ne vaut rien mais rien ne vaut la vie
Bonjour,
Merci de votre réponse mais je ne comprends pas bien. Si j'ai deux numéros de contrat qui correspondent à un agri, comment dans ma deuxième combobox il va choisir lequel mettre? Ca sera deux choix et je dois choisir le bon? Du coup, je fais pareil pour ma troisième combobox? En balayant les deux permières? Et ca va me permettre de choisir la ligne ou il doit copier la valeur rentrée dans la text box?
Désolée pour toutes ces questions, mais j'aimerai arriver à comprendre et pas recopier bêtement pour pouvoir le refaire dans d'autres situations et être autonome.... Qui sait peut être qu'un jour je résoudrais des points sur ces forums pour d'autres personnes...
Merci de votre réponse mais je ne comprends pas bien. Si j'ai deux numéros de contrat qui correspondent à un agri, comment dans ma deuxième combobox il va choisir lequel mettre? Ca sera deux choix et je dois choisir le bon? Du coup, je fais pareil pour ma troisième combobox? En balayant les deux permières? Et ca va me permettre de choisir la ligne ou il doit copier la valeur rentrée dans la text box?
Désolée pour toutes ces questions, mais j'aimerai arriver à comprendre et pas recopier bêtement pour pouvoir le refaire dans d'autres situations et être autonome.... Qui sait peut être qu'un jour je résoudrais des points sur ces forums pour d'autres personnes...
Isatis21
Messages postés
12
Date d'inscription
mercredi 14 août 2013
Statut
Membre
Dernière intervention
14 août 2013
14 août 2013 à 14:24
14 août 2013 à 14:24
Désolé j'avais mal compris votre besoin ^^
A votre place j'utiliserais plutôt deux listbox. Une avec les contrats de l'agriculteur l'autre pour stocker les contrats que vous désirez prendre en compte.
Ensuite lorsque vous validez vous balayez la listbox des contrats sélectionnés et vous copiez les valeurs aux lignes correspondantes.
Si j'ai mal compris (encore :p) n'hésitez pas à me le dire :)
A votre place j'utiliserais plutôt deux listbox. Une avec les contrats de l'agriculteur l'autre pour stocker les contrats que vous désirez prendre en compte.
Ensuite lorsque vous validez vous balayez la listbox des contrats sélectionnés et vous copiez les valeurs aux lignes correspondantes.
Si j'ai mal compris (encore :p) n'hésitez pas à me le dire :)
Isatis21
Messages postés
12
Date d'inscription
mercredi 14 août 2013
Statut
Membre
Dernière intervention
14 août 2013
14 août 2013 à 14:36
14 août 2013 à 14:36
Je suis pas sur mais il me semble que dans les listbox il est aussi possible de se positionner en tapant une lettre (à vérifier).
Sinon la différence c'est que les listbox ont été conçu pour faire une sélection multiple.Les combobox en cascade ça me parait etre plus du bidouillage ^^
Sinon la différence c'est que les listbox ont été conçu pour faire une sélection multiple.Les combobox en cascade ça me parait etre plus du bidouillage ^^
Isatis21
Messages postés
12
Date d'inscription
mercredi 14 août 2013
Statut
Membre
Dernière intervention
14 août 2013
14 août 2013 à 14:37
14 août 2013 à 14:37
Sinon vous pouvez également ajouter à votre userform un textbox de recherche afin de garder que les agriculteurs commançant par le texte saisi :)
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
14 août 2013 à 15:54
14 août 2013 à 15:54
Re,
Un exemple de programmation:
https://www.cjoint.com/c/CHop1lhCTzU
regardez et dites ce qu'il faut corriger.
A+
Un exemple de programmation:
https://www.cjoint.com/c/CHop1lhCTzU
regardez et dites ce qu'il faut corriger.
A+
Ouhaou!!!! C'est génial! Exactement ce que je voulais! DIre que je suis en train de galérer avec les list box depuis une heure...
Cependant je n'ai pas tout compris au code, je dois remplacer tout le mien par celui la? J'ai plusieurs formulaires que je dois gérer avec ce problème (plusieurs stades de la production) et j'aimerai pouvoir le réutiliser seule.... De plus j'aimerai enlever les doublons sur la combobox, contrats aussi. Je suis en train de regarder comment vous vez fait pour le refaire..
C'est franchement super en plus vous avez réussi à mettre de la couleur et un logo au fond c'est franchement mieux que leurs couleurs unies non attrayantes, c'est possible de m'expliquer comment on fait?
Franchement merci beaucoup, merci pour le temps passé, merci pour l'explication, merci pour le fichier, bref merci pour tout!!
Cependant je n'ai pas tout compris au code, je dois remplacer tout le mien par celui la? J'ai plusieurs formulaires que je dois gérer avec ce problème (plusieurs stades de la production) et j'aimerai pouvoir le réutiliser seule.... De plus j'aimerai enlever les doublons sur la combobox, contrats aussi. Je suis en train de regarder comment vous vez fait pour le refaire..
C'est franchement super en plus vous avez réussi à mettre de la couleur et un logo au fond c'est franchement mieux que leurs couleurs unies non attrayantes, c'est possible de m'expliquer comment on fait?
Franchement merci beaucoup, merci pour le temps passé, merci pour l'explication, merci pour le fichier, bref merci pour tout!!
J'ai testé le fichier dans l'original en copiant le code dans mon userform à la place de l'ancien mais quand je lance la macro, un message d'erreur apparait "invalid ReDim" et dans le code il surligne en jaune "ReDim Table_ML (Nb_Nom)". Je comprend qu'il n'arrive pas à initialiser la table M et L mais je ne comprends pas comment le corriger... Désolée de vous faire perdre plein de temps....
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
14 août 2013 à 16:45
14 août 2013 à 16:45
Re,
Dans le VBA de Module1, il y a des declarations de variables dont Table_ML, il faut donc recopier aussi cette partie de code. Il y a un petit bug dans le tri des noms, Luc est en premier, pas normal. Je suis entrain de regarder pourquoi.
Pour l'image dans l'Userforme, facile:
propiete de l'UF, Picture, vous choisissez un fichier image ou icone ou gif et ensuite picturesizemode: fmpicturesizemodestrech
A+
Dans le VBA de Module1, il y a des declarations de variables dont Table_ML, il faut donc recopier aussi cette partie de code. Il y a un petit bug dans le tri des noms, Luc est en premier, pas normal. Je suis entrain de regarder pourquoi.
Pour l'image dans l'Userforme, facile:
propiete de l'UF, Picture, vous choisissez un fichier image ou icone ou gif et ensuite picturesizemode: fmpicturesizemodestrech
A+
Re,
Effectivement erreur un peu bête de ma part. Maintenant ca marche. Par contre, il y a deux ou trois petits points qui ne fonctionnent pas.
Quand je choisis un agri, j'ai bien le choix uniquement entre ses contrats s'il en a plusieurs ou le seul qu'il a mais j'ai deux fois le numéro de contrat quand il a deux calibres.
En fait je crois que le choix de la combobox 2 définit la valeur qui sera dans ma combobox 3. Je m'explique, pour l'agriculteur Lucie, j'ai deux contrats, le 1 et le 2. le 1 à un calibre M et un L et le 2 a seulement un calibre M. La combobox 2 me donne le choix entre 1,1 et 2 ( soit deux fois le contrat 1 alors que je voudrais qu'il n'apparaisse qu'une fois). Ensuite dans ma combobox 3, j'ai M et L qui apparaissent mais tout le temps même si je n'ai qu'un seul calibre (contrat 2) et surtout même si je change entre M et L il me recopie la valeur sur la même ligne car il associe le premier 1 de la combobox 2 à la ligne M et le deuxième 1 de la combobox 2 à la ligne L.
Moi je voudrais que la combobox 3 prenne sa source dans ce qu'il y a vraiment en face de l'agriculteur lucie et du numéro de contrat 1. Ainsi pour rentrer les deux calibres, je n'aurai qu'a changer la combobox 3 pour passer d'un poids à un autre.
Est ce que je dis est compréhensible ou pas?
Effectivement erreur un peu bête de ma part. Maintenant ca marche. Par contre, il y a deux ou trois petits points qui ne fonctionnent pas.
Quand je choisis un agri, j'ai bien le choix uniquement entre ses contrats s'il en a plusieurs ou le seul qu'il a mais j'ai deux fois le numéro de contrat quand il a deux calibres.
En fait je crois que le choix de la combobox 2 définit la valeur qui sera dans ma combobox 3. Je m'explique, pour l'agriculteur Lucie, j'ai deux contrats, le 1 et le 2. le 1 à un calibre M et un L et le 2 a seulement un calibre M. La combobox 2 me donne le choix entre 1,1 et 2 ( soit deux fois le contrat 1 alors que je voudrais qu'il n'apparaisse qu'une fois). Ensuite dans ma combobox 3, j'ai M et L qui apparaissent mais tout le temps même si je n'ai qu'un seul calibre (contrat 2) et surtout même si je change entre M et L il me recopie la valeur sur la même ligne car il associe le premier 1 de la combobox 2 à la ligne M et le deuxième 1 de la combobox 2 à la ligne L.
Moi je voudrais que la combobox 3 prenne sa source dans ce qu'il y a vraiment en face de l'agriculteur lucie et du numéro de contrat 1. Ainsi pour rentrer les deux calibres, je n'aurai qu'a changer la combobox 3 pour passer d'un poids à un autre.
Est ce que je dis est compréhensible ou pas?
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
Modifié par f894009 le 14/08/2013 à 17:14
Modifié par f894009 le 14/08/2013 à 17:14
Re,
Est ce que je dis est compréhensible ou pas? Pas!!!
Une text box se remplie alors automatiquement avec le numéro de série (colonne Z)
dans votre message precedent, quezaco ???
Actuellement, s'affiche en combobox3 et les texteboxs les infos de la ligne du contrat choisi.
Pour Lucie, deux contrats 1, si vous choisissez le premier vous avez les infos de la ligne du premier. Pour le deuxieme, idem et vous pouvez modifier combobox3 et les texteboxs, si vous validez cela enregistre sur la ligne du choix de contrat.
A+
Est ce que je dis est compréhensible ou pas? Pas!!!
Une text box se remplie alors automatiquement avec le numéro de série (colonne Z)
dans votre message precedent, quezaco ???
Actuellement, s'affiche en combobox3 et les texteboxs les infos de la ligne du contrat choisi.
Pour Lucie, deux contrats 1, si vous choisissez le premier vous avez les infos de la ligne du premier. Pour le deuxieme, idem et vous pouvez modifier combobox3 et les texteboxs, si vous validez cela enregistre sur la ligne du choix de contrat.
A+
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
15 août 2013 à 11:05
15 août 2013 à 11:05
Bonjour,
Tri nom OK (luc est enfin a sa place) et modif avec suppression combobox3, affichage calibre avec numero de contrat.
https://www.cjoint.com/c/CHpldJGc8IF
A+
Tri nom OK (luc est enfin a sa place) et modif avec suppression combobox3, affichage calibre avec numero de contrat.
https://www.cjoint.com/c/CHpldJGc8IF
A+
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
19 août 2013 à 10:38
19 août 2013 à 10:38
Bonjour,
je ne m'en sortais pas toute seule Si, puisque vous avez demandez de l'aide. Vous vous etes adaptee a la situation, personne ne connait tout tout de suite, alors ....
Bonne continuation
je ne m'en sortais pas toute seule Si, puisque vous avez demandez de l'aide. Vous vous etes adaptee a la situation, personne ne connait tout tout de suite, alors ....
Bonne continuation
13 août 2013 à 09:18
J'ai essayé de faire avec votre fichier mais comme je n'ai pas du tout alimenté ma combobox comme vous (je ne suis pas une pro VBA je tatône et j'ai surement pas pris la voie la plus rapide....) je n'arrive pas à l'appliquer à mon modèle...
Désolée
13 août 2013 à 18:08
Merci, je pense que vous avez la bonne solution dans la suite.
Salutations.
Le Pingou
14 août 2013 à 10:08
Je suis désolée mais je ne comprends pas votre commentaire... J'ai la bonne solution ou?
14 août 2013 à 10:43
J'ai la bonne solution ou? ..... dans la suite..soit la proposition de foo.
Si c'est le cas mettre le statut poste sur [Résolu]
Salutations.
Le Pingou
14 août 2013 à 10:54
La solution proposée par Fo bien que fonctionelle ne correspond pas à ma demande. La list view ne peut pas s'utiliser dna s ce cas puisque je peux avoir jusqu'à 1 000 agriculteurs, pas pratique pour retrouver le bon. De plus, la combobox ne se remplie pas avec le numéro de contrat, s'il y en qu'un ou la liste s'il y en a deux et les poids saisis ne vont pas se recopier dans la ligne sur le tableau.
Peut être que ce n'est pas possible....