liste déroulante dans userform | ||
---|---|---|
Inscription: 13/04/2010
Messages:
29
Système d'exploitation: PC Version Excel utilisée: excel 2007 |
Posté le : 13-04-2010 10h47
Bonjour,
J'ai vu que cette question avait souvent été abordé mais je n'ai pas trouvé de réponse qui correspondent a ce que je cherche! J'ai créée une userform (on appuis sur un "+" dans mon tableur et elle s'affiche) et j'aimerai créer deux liste déroulante dans cette UF, les 2 listes utiliseraient une base de données (déjà créée). Plus précisement, la 1ère liste déroulante s'appelle "Marque" et la 2ème "Modèle", en fonction de la marque choisi, différents modèle doivent s'afficher. Une fois la marque et le modèle choisi, le nom du modèle doit être reporté dans une case de ma feuille. Merci d'avance PS: ci-joint, un exemple de ce que je cherche à avoir, cliquer sur le "+" pour une vision d'ensemble de ce que je veux obtenir, il me manque juste les 2 listes déroulantes en fait :x
Edité par vodkaddict le 13/04/2010 15:52:31
|
|
|
Re: liste déroulante dans userform | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 13-04-2010 13h31
Bonjour vodkaddict, bienvenue sur XLpages,
Bonjour le Forum, Si j'ai bien compris la question, tu trouveras en pièce jointe une façon de faire pour ton problème (sans remettre en cause la structure de ta base de données). J'ai utilisé le code VBA suivant (repris de ce Post du forum et à peine modifié pour l'occasion ). Option Explicit J'espère que ça peut te rendre service. Cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: liste déroulante dans userform | ||
---|---|---|
Inscription: 13/04/2010
Messages:
29
Système d'exploitation: PC Version Excel utilisée: excel 2007 |
Posté le : 13-04-2010 14h27
Woh :O!
Merci, je ne m'attendais a obtenir si complète en si peu de temps!! Je te remercie, c'est vraiment du bon boulot, pour moi complètement novice en la matière j'avoue que je suis stupéfait ^^. Il me reste plus qu'a trouver comment retourner la valeur du modèle choisi dans une case du tableau et a adapter ceci à toute ma base de donnée ^^ Encore merci :) |
|
|
Re: liste déroulante dans userform | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 13-04-2010 15h02
Re,
Si la réponse te convient, merci de mettre en pratique ce qui est indiqué au bas de ma signature (voir le lien). N'hésite pas à revenir au besoin (en créant un autre sujet, c'est selon) Cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: liste déroulante dans userform | ||
---|---|---|
Inscription: 13/04/2010
Messages:
29
Système d'exploitation: PC Version Excel utilisée: excel 2007 |
Posté le : 14-04-2010 17h29
Re-bonjour,
Pourrais tu m'expliquer comment tu fais pour choisir quelles colonnes vont être utilisées? J'avoue ne pas avoir bien saisi cette partie. Je vois comment tu fais pour savoir à quelle ligne va commencer la sélection ma comment tu définis quelle colonne! et si possible, tu pourrais me dire comment faire si je veux le faire sur plus de colonnes ? Merci d'avance |
|
|
Re: liste déroulante dans userform | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 14-04-2010 19h20
Re vodkaddict,
A vrai dire, je ne sais comment t'expliquer au mieux le fonctionnement de ce bout de code, mais je vais quand même essayer de répondre à ton interrogation concernant les colonnes... Globalement, cette macro prend pour base un tableau variant que j'ai nommé TabTemp() : - On stocke l'ensemble des valeurs de la base de données, dans ce tableau variant temporaire à 2 dimensions : une dimension pour l'indice de ligne et une autre dimension pour l'indice de colonne. On manipule ce tableau variant de la même façon que la plage de cellules correspondante : TabTemp(Ligne, Colonne) - J'intègre également dans ce tableau une colonne supplémentaire qui va me permettre de stocker une valeur de test. Dans mon post précédent, je t'ai mis le lien sur la discussion d'origine de cette macro. Si tu observes le code original et le fichier correspondant, je pense que tu serais plus à même d'en comprendre le fonctionnement. Les données étaient, en particulier, classée de façon logique : la catégorie principale en première colonne sur la gauche, puis les catégories, sous-catégories et sous-sous catégories sur chaque colonne vers la droite. C'est comme si tu créais un arbre hiérarchique en fait... La macro et donc le tableau TabTemp() tenaient compte de cette hiérarchie à plusieurs niveaux avec toujours une colonne ajoutée à la fin pour stocker ma valeur de test. Dans ton cas, j'ai simplifié puisqu'on n'a plus qu'un seul niveau hiérarchique à gérer, mais à l'envers : la catégorie principale en colonne 2 (B) et une seule sous-catégorie dépendante en colonne 1 (A). TabTemp() stocke donc toutes les valeurs présentes en colonne A (indice 1) et B (indice 2), plus une colonne supplémentaire (indice 3) pour test. J'ai donc simplement remplacé les variables d'indice de colonne utilisées dans la macro d'origine par les constantes 1 ou 2 (et voire 3 pour le test). Par exemple, quand j'écris : If TabTemp(L, 3) = 1 Then ... Désolé de ne pouvoir être plus clair, mais je te recommande vivement d'analyser le fichier et le code VBA du fil de discussions mis en lien précédemment et en particulier si tu veux l'utiliser sur plus de colonnes. Cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: liste déroulante dans userform | ||
---|---|---|
Inscription: 13/04/2010
Messages:
29
Système d'exploitation: PC Version Excel utilisée: excel 2007 |
Posté le : 15-04-2010 11h30
Merci à toi, je viens de comprendre comment tu avais fait ^^
Cela m'a bien aidé! :) |
|
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
Qui consulte actuellement ce sujet ?
1 Utilisateur(s) anonymes