[excel2007] Combobox dans userform
Résolu
ced3c
Messages postés
237
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Une fois de plus je m'en remet à vous.
Dans le cadre d'un projet personnel il me faudrait faire une combobox en cascade sur 3 niveaux dans un userform.
J'ai préparé mon userform et je n'ai plus qu'à inscrire le code.
Après plusieurs recherches j'ai pu trouver beaucoup beaucoup de codes sur cela, notamment la serie de tutos de Jacques Boisgontier .
De tous ces codes que j'ai pu voir, tous étaient très differents dans la construction (peut être pas pour vous remarque)
Ma question est simple
Pouvez vous m'indiquer quel code est le plus simple pour un débutant ? Ou bien un tutoriels qui serait accessible ?
J'avoue ne pas trop comprendre les codes que j'ai vu (connaissance du vba quasi inexistante)
En vous remerciant par avance
Une fois de plus je m'en remet à vous.
Dans le cadre d'un projet personnel il me faudrait faire une combobox en cascade sur 3 niveaux dans un userform.
J'ai préparé mon userform et je n'ai plus qu'à inscrire le code.
Après plusieurs recherches j'ai pu trouver beaucoup beaucoup de codes sur cela, notamment la serie de tutos de Jacques Boisgontier .
De tous ces codes que j'ai pu voir, tous étaient très differents dans la construction (peut être pas pour vous remarque)
Ma question est simple
Pouvez vous m'indiquer quel code est le plus simple pour un débutant ? Ou bien un tutoriels qui serait accessible ?
J'avoue ne pas trop comprendre les codes que j'ai vu (connaissance du vba quasi inexistante)
En vous remerciant par avance
A voir également:
- [excel2007] Combobox dans userform
- Excel2007 - Télécharger - Tableur
- Remplir combobox vba ✓ - Forum Excel
- Fermer userform vba - Forum Excel
- Userform excel mac - Forum VB / VBA
- Propriétés combobox vba ✓ - Forum VB / VBA
5 réponses
Bonjour,
Je ne sais pas si on peut te répondre quel code est le plus simple ?
Il faudrait déjà savoir parmi lesquels...
Par ailleurs, on ne complexifie par un code pour le plaisir... Si un code paraît plus complexe qu'un autre, c'est surtout qu'il est différent, et que le but cherché n'est pas le même.
Donc, avant tout il faudrait savoir comment est composée ta séries de listes déroulantes.
- Quelle est la source pour chacune ?
- Y a t il une obligation à faire son choix dans un ordre imposé ?
- Une liste 2 découlant du choix dans la liste 1 , qu'en est-il de l'inverse ?
etc.
Voici donc les premières questions qu'il faut se poser avant de se lancer dans un code, et de faire des copier coller sans comprendre les tenants et les aboutissants...
m@rina
Je ne sais pas si on peut te répondre quel code est le plus simple ?
Il faudrait déjà savoir parmi lesquels...
Par ailleurs, on ne complexifie par un code pour le plaisir... Si un code paraît plus complexe qu'un autre, c'est surtout qu'il est différent, et que le but cherché n'est pas le même.
Donc, avant tout il faudrait savoir comment est composée ta séries de listes déroulantes.
- Quelle est la source pour chacune ?
- Y a t il une obligation à faire son choix dans un ordre imposé ?
- Une liste 2 découlant du choix dans la liste 1 , qu'en est-il de l'inverse ?
etc.
Voici donc les premières questions qu'il faut se poser avant de se lancer dans un code, et de faire des copier coller sans comprendre les tenants et les aboutissants...
m@rina
bonjour,
Si tu pouvais nous mettre un exemple de classeur, sans données identifiables et privées, mais avec la structure de tes données et ton code actuel, sur https://www.cjoint.com/ puis nous mettre le lien généré ici ce serait plus facile.
Si tu pouvais nous mettre un exemple de classeur, sans données identifiables et privées, mais avec la structure de tes données et ton code actuel, sur https://www.cjoint.com/ puis nous mettre le lien généré ici ce serait plus facile.
Merci de vos réponses
Voici le fichier avec le userform
https://www.cjoint.com/?ALdt2ulgWFf
Ce que je cherche à faire
combobox1 => Famille (quincaillerie,police...)
combobox2 => référence en fonction de la famille
combobox3 => Tarif (3 choix de prix sauf pour quincaillerie qui n'en as qu'un) en fonction de la référence
- Pour ce faire j'ai créé quatre feuilles ayant le même nom que les familles
-J avais chercher aussi à tout réunir sur une feuille (base) mais si on peut faire avec les 4 feuilles je préfère.
-La feuille données recense juste les familles
Suis je bien parti du début ? (certes court le début)
Voici le fichier avec le userform
https://www.cjoint.com/?ALdt2ulgWFf
Ce que je cherche à faire
combobox1 => Famille (quincaillerie,police...)
combobox2 => référence en fonction de la famille
combobox3 => Tarif (3 choix de prix sauf pour quincaillerie qui n'en as qu'un) en fonction de la référence
- Pour ce faire j'ai créé quatre feuilles ayant le même nom que les familles
-J avais chercher aussi à tout réunir sur une feuille (base) mais si on peut faire avec les 4 feuilles je préfère.
-La feuille données recense juste les familles
Suis je bien parti du début ? (certes court le début)
bonjour
Quelques modifications effectuées sur ton code
- Ton initialisation ne fonctionne pas car tu as écrit
Private Sub UserForm1_Initialize() alors que c'est
Private Sub UserForm_Initialize() pour chaque formulaire.
- Tu ne peux pas remplir un combobox par code si tu as renseigné rowsource.
- ta feuille "données" ne sert plus à rien ni le nom attribué.
- je t'ai mis le code du bouton "ajouter"
- j'ai affiché tes textbox
- la textbox "prix" n'a pas l'air utile ?
https://www.cjoint.com/?ALdxMOODV7F
Regardes si c'est ce que tu espérais.
Quelques modifications effectuées sur ton code
- Ton initialisation ne fonctionne pas car tu as écrit
Private Sub UserForm1_Initialize() alors que c'est
Private Sub UserForm_Initialize() pour chaque formulaire.
- Tu ne peux pas remplir un combobox par code si tu as renseigné rowsource.
- ta feuille "données" ne sert plus à rien ni le nom attribué.
- je t'ai mis le code du bouton "ajouter"
- j'ai affiché tes textbox
- la textbox "prix" n'a pas l'air utile ?
https://www.cjoint.com/?ALdxMOODV7F
Regardes si c'est ce que tu espérais.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup gbinforme
Tu as même traité les textbox :)
Pour le prix je préfère comme tu as fait, je vais supprimer le textbox en trop
C'est pilepoil ce que je voulais
Pour le code, je dois dire que je ne comprends pas tout vu que je ne connais pas le vba, je n'aurais pas réussi à adapter un code pour mon projet.
En tout cas grand merci a toi :)
Puis je juste t'embeter un peu plus ?
Comment puis je faire pour envoyer les donnees du formulaire (en verifiant que tout est bien remplie) vers la feuille traitement ?
Le truc c'est que j'en enverrai plusieurs et qu'elle doivent s'enregistrer en ligne les unes sous les autres
Tu as même traité les textbox :)
Pour le prix je préfère comme tu as fait, je vais supprimer le textbox en trop
C'est pilepoil ce que je voulais
Pour le code, je dois dire que je ne comprends pas tout vu que je ne connais pas le vba, je n'aurais pas réussi à adapter un code pour mon projet.
En tout cas grand merci a toi :)
Puis je juste t'embeter un peu plus ?
Comment puis je faire pour envoyer les donnees du formulaire (en verifiant que tout est bien remplie) vers la feuille traitement ?
Le truc c'est que j'en enverrai plusieurs et qu'elle doivent s'enregistrer en ligne les unes sous les autres
bonjour ced3c,
Merci pour le retour.
J'ai essayé de garder au mieux ce que tu avais codé. Certes tout ne fonctionnait pas mais ce sont toujours des petits détails comme le nom de ta macro qui créent le plus de soucis.
Le vba est une programmation objet qu'il faut bien intégrer pour en comprendre le fonctionnement et en particulier les fonctions de "change" sur un combobox sont assez complexes à gérer.
C'est en pratiquant régulièrement que tu vas pouvoir maîtriser.
Merci pour le retour.
J'ai essayé de garder au mieux ce que tu avais codé. Certes tout ne fonctionnait pas mais ce sont toujours des petits détails comme le nom de ta macro qui créent le plus de soucis.
Le vba est une programmation objet qu'il faut bien intégrer pour en comprendre le fonctionnement et en particulier les fonctions de "change" sur un combobox sont assez complexes à gérer.
C'est en pratiquant régulièrement que tu vas pouvoir maîtriser.