Macro liste déroulante + cellules à remplir correspondantes

Bonjour à tous,

Je suis vraiment débutant en VBA, je tâche de m'y initier depuis quelques jours.

Voilà mon objectif :

Je cherche à créer une interface utilisateur où ce dernier pourra sélectionner dans une case (disons A1), via une liste déroulante, une série de 5 choix (Chaudière, PAC, PAC+, Cogé, Réseau).

Et l'idée serait que pour chaque choix sélectionné, s'affiche des cellules associées (dans les cellules B1, C1, D1, E1 par exemple) dans lesquelles l'utilisateur pourra rentrer des valeurs qui serviront à donner un résultat dans une cellule finale (ex: G1).

Je cherche à faire cela car en fonction des choix de départs (chaudière, etc....), il n'y a pas les mêmes données à renseigner.

Et dans un 2ème temps, je voudrais que l'utilisateur puisse appuyer sur un bouton qui lui crée une nouvelle ligne dans laquelle il sélectionne à nouveau (chaudière, PAC, etc...) et ce, autant que possible.

J'ai cru comprendre au fil de mes recherches qu'il fallait que j'utilise des macros avec combobox et userform, etc... Mais j'avoue être un peu perdu dans le code exact à réaliser.

Je ne sais pas si j'ai été assez clair ou s'il faut que je donne plus d'infos, mais je remercie d'avance les personnes qui voudront bien m'aider !

Nunzo

Bonjour et bienvenue sur le forum

Tu écris :

Je cherche à créer une interface utilisateur ...

Quelque chose comme cela, peut-être ? :

1'030proposition-v1.xlsm (27.21 Ko)

Bonjour,

D'abord, merci beaucoup ! C'est exactement ce à quoi j'aspirais ! Vraiment merci !

Tu écris

Quelque chose comme cela, peut-être ? :

Du coup, j'aurais quelques petites modifications à faire,

En fait, ma matrice est un peu particulière dans le sens où il n'y a pas le même nombre de Valeur x à rentrer en fonction du choix effectué.

En gros, il faudrait que :

  • pour "Réseau", l'utilisateur peut rentrer 4 valeurs X
  • pour "Chaudière, l'utilisateur peut rentrer 4 valeurs X
  • pour "PAC", l'utilisateur peut rentrer 7 valeurs X
  • pour "PAC+", l'utilisateur peut rentrer 6 valeurs X
  • pour "Cogénération", l'utilisateur peut rentrer 8 valeurs X

La variable résultat serait donc situé après l'espace maximum nécessaire pour afficher le plus de valeurs (8) à chaque ligne. Il se retrouverait donc en colonne 9 ou 10 quoi.

Et mon autre question serait de savoir s'il est possible pour l'utilisateur, une fois qu'il a sélectionné son système via la liste déroulante, de modifier les valeurs lui-même, c'est-à-dire de laisser les cases vides, pour qu'il puisse les remplir.

En fait, pour expliquer un peu, je veux que l'outil permette à l'utilisateur de savoir de quelles données d'entrée il a besoin pour obtenir son résultat, et qu'il ne soit pas "piégé" à croire qu'il lui faut la "valeur 5" s'il a choisi une "PAC", alors que celle-ci n'est nécessaire que pour le choix "cogénération" (c'est une exemple bien sûr..)....

Le choix "distribue" et "affiche" donc les seules valeurs dont il a besoin pour le résultat. Et ce à chaque ligne.

Mais après ça peut-être juste "bloquer" les cases à ne pas remplir pour le choix correspondant, et après ça se transcrit en valeur 0 dans le tableau "résultats" ?

Je ne sais pas si je suis très clair, ou encore si c'est possible. Je me dis que ça peut-être grâce à une fonction IF THEN, j'ai essayé de bidouiller avec cela..

Merci de m'aider en tout cas !

Nunzo

Re

Que dis-tu de cette nouvelle version ?

670proposition-v2.xlsm (29.13 Ko)
gmb a écrit :

Re

Que dis-tu de cette nouvelle version ?

Qu'elle est merveilleuse ! Haha

Non vraiment merci ! Ca m'aide beaucoup !

Alors voilà maintenant je voudrais savoir une dernière chose.

En effet, maintenant j'ai mon interface configurée avec les variables d'entrée comme il faut.

Plusieurs petites choses que je voudrais intégrer :

  • bon déjà j'ai vu que je pouvais changer "Valeur 1" Valeur 2" "Valeur 3", etc.. et c'est très bien
  • Ensuite, je voudrais que la "Valeur 5" ne soit pas en saisie directe, mais qu'elle soit elle aussi une liste déroulante (liée à une feuille du classeur) et que la "Valeur 6" soit liée à la "Valeur 5" par une fonction rechercheV. Au final ces deux cases ne sont pas à remplir en saisie directe.
  • Il y'a d'autres fonctions que j'aimerais prendre en compte, du style "si mon utilisateur remplit une valeur dans "Valeur 2" -qui équivaut à la colonne 3 par exemple, cette valeur servira à la colonne 6 qui est =C3/E3 par exemple.

- En gros, je voudrais que les données d'entrée rentrée par l'utilisateur ne soit pas restituées "brutes" dans mon tableau "résultat", mais qu'elles soient implémentées dans des formules.

Je ne sais vraiment pas si c'est possible.

Pour te donner un exemple, je te mets en pièces jointes mon classeur "type" avec la ligne comprenant toutes les variables et donc toutes les fonctions (de la colonne B à H) avec un choix "PAC".

En gros les colonnes avec fonctions associées sont les colonnes E, F, G, H

Je te remercie en tout cas vraiment d'avance pour le temps que tu prendrais à regarder mon cas,

Merci !

Nunzo

Nunzo a écrit :
gmb a écrit :

Re

Que dis-tu de cette nouvelle version ?

Qu'elle est ......

Je me suis planté !

J'avais une mauvaise vision de mon outil en ce qui concerne les variables que l'utilisateur peut modifier !

Donc mon post précédent marche toujours pour les intentions, par contre, je t'envoie la nouvelle version de mon classeur dans laquelle j'ai inséré une feuille "Synthèse" en Violet, dans laquelle je reprends les "variables" en fonction des "choix" et j'ai mis dans quel cas l'utilisateur doit rentrer une valeur.

On voit qu'en fait il n'y en a pas beaucoup, contrairement à ce que je disais !

Mais du coup si tu peux me dire comment faire ?

Merci !

Re bonjour

Ce n’est pas très clair.

C’est très bien d’avoir fait une feuille de synthèse.

J’y ai reporté les titres des colonnes des 5 feuilles concernées.

Déjà, sur sur la feuille « Chaudière », il n’y a rien.

Pour les autres feuilles, on n’arrive pas à faire correspondre tous les titres reportés avec ceux de la synthèse. Certain sont totalement différents (ex : Validation ) ou proches mais donc ambigûs quant à leur correspondance.

Je ne retrouve pas non plus les 8 variables que tu m’avais annoncées. J’en compte 10 sur ta synthèse…

Par ailleurs, tu me parles de remplacer des textbox par des combox mais tu ne me dis pas ce qu’ils doivent proposer.

Enfin, tu n’as toujours pas expliquer comment tu comptes obtenir le résultat avec toutes les données qui seront entrées dans la boite de dialogue par l’utilisateur.

Je ne vois donc pas comment, avec toutes ces incertudes et ces inconnues, adapter l’userform que je t’ai préparé précédemment.

Je te conseille donc de mieux murir ton projet et de revenir quand tu sauras exactement ce que tu veux et comment l’obtenir.

Bon courage !

Bye !

Rechercher des sujets similaires à "macro liste deroulante remplir correspondantes"