Liste déroulante VBA à partir de trois paramètres d'entrée

  • Initiateur de la discussion Initiateur de la discussion arno21000
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

arno21000

XLDnaute Nouveau
Bonjour,
j'aurais besoin de vos lumières pour la programmation d'un code en VBA.
En effet, j'ai trois paramètres d'entrée. En fonction de ceux-ci, je dois donner la valeur des H possibles dans une liste déroulante (voir feuille ci-jointe).
Par exemple, pour classe :1; Type:R30, L:11 je dois obtenir H=35;40;45;50;55
Deuxième exmple, pour classe:3, L:18;type:I45 je dois obtenir H=70;75.

Attention toute fois, il y a deux lignes pour un "type". Afficher donc le nombre de h maximum.
Il est possible de changer la mise en forme du tableau si celle-ci n'est pas obtimale.

De plus, par exmple, si l'utilisateur indique L31; type:I45;classe:1, sachant qu'il n'y a pas de h correspondant, indiquer "pas de h correspondant".

Merci d'avance pour votre aide, car je bloque complètement et ça me serait très utile pour la programmation d'un dimensionnement en mécanique que je fais sous Excel (cette macro=gain de temps).
Merci encore...
 

Pièces jointes

Dernière édition:
Re : Liste déroulante VBA à partir de trois paramètres d'entrée

Bonjour Arno, Bonjour à tous,

Un essai ci-joint en formules avec ce que j'ai compris.

Pour définir la liste je me sers simplement de la classe, du type et de la première ligne de L.

Avant d'aller plus loin, je voudrais savoir si cela correspond à ta demande et une réponse pour la question suivante:

Ne pourrait-on pas créer un seul ensemble de 2 lignes L et H en haut de tableau plutôt que de répéter ces lignes à chaque classe?

@+

Gael
 

Pièces jointes

Re : Liste déroulante VBA à partir de trois paramètres d'entrée

Bonjour Arno,

Je pensais avoir compris le problème posé mais, après analyse du tableau Excel, je m'étonne que

"pour classe :1; Type:R30, L:11 je dois obtenir H=35;40;45;50;55"
et non pas
""pour classe :1; Type:R30, L:11 je dois obtenir H=35;40;45"

quelle est la logique qui permet d'intégrer 50 et 55 dans la liste des valeurs possibles de h

pour le reste cela me parait OK

Merci pour ta réponse ...

Omicron
 
Re : Liste déroulante VBA à partir de trois paramètres d'entrée

Re bonjour,
merci beaucoup pour vos réponses.
En efet, je viens de regarder le fichier de pierrejean, cela fonctionne sauf qu'il n'y a pas la prise en compte de la classe qui manque.
Merci encore
 
Re : Liste déroulante VBA à partir de trois paramètres d'entrée

Et pour le fichier de Gael, c'est pareil mais avec le type qui n'est pas pris en compte...
En effet, sur cet exemple: L:17;I45;1 il sort les valeurs sur la ligne de I45 et non les valeurs de h correspondantes.
 
Dernière édition:
Re : Liste déroulante VBA à partir de trois paramètres d'entrée

Et enfin, pour répondre à Omicron, je ne voit pas ou est ton problème, il faut bien obtenir ça :
"pour classe :1; Type:R30, L:11 je dois obtenir H=35;40;45;50;55"

c'est un tableau d'abaque, il n'y a pas à intégrer les valeurs 50 et 55, ceci est pour L:12.
 
Re : Liste déroulante VBA à partir de trois paramètres d'entrée

En effet, pierrejean pour être un peu plus explicite sur cet exemple :L:17;I45;classe:3
j'obtiens 115 alors que je devrais obtenir la valeur 70.
En fait, sur cet exemple, ca ne marche pas quelque soit la valeur de la classe. Il sort les valeur sur la ligne correspondante et non celle des valeurs de h.
 
Re : Liste déroulante VBA à partir de trois paramètres d'entrée

Re

effectivement je ne sortais pas le h !!
vois cet essai qui presente l'inconvenient de donner 2 fois les mêmes valeurs dans le cas de 2 lignes avec le même type
il est eventuellement possible d'eviter les doublons mais je voudrais etre sur que ce debut te convient puisque l'exemple cité par Omicron ( 1 R30 L 11) n'aboutit pas a ce que tu souhaites
 

Pièces jointes

Re : Liste déroulante VBA à partir de trois paramètres d'entrée

C'est bon, j'ai réussi à comprendre ce que vous avez fait, et j'ai résolu mon petit problème (en effet pierrejean, je suis allez un peu vite, tellement la tête dans mes calculs que j'ai mélangé deux problèmes distincts).

Par contre, j'ai une nouvelle mission pour vous 🙂
Toujours à partir du même tableau, uniquement dans le cas de classe 2,
si j'ai e=36.3, type R30, L:11, N=20 par exemple, il doit me sortir (sachant que les e sont les valeurs qui sont sur la ligne R30, ou I45 ou I50), qu'il me sorte la valeur de h du tableau correspondante.
Sachant que pour chaque R30, I45, I50 on a deux lignes. La premiere correspond aux valeurs max que peu prendre e et la deuxième a la valeur mini que peut prendre N.


Dans le cas de mon exemple, je dois obtenir la valeur 35 car mon e=0.363<48 et N=20>17.

Ce coup-ci, il n'y a pas d'erreur, et j'espère que j'ai pu être relativement clair.

Encore merci pour votre aide.
Je toujours aussi impressionné par votre savoir et savoir-faire.
 
Re : Liste déroulante VBA à partir de trois paramètres d'entrée

Bonsoir à tous,

J'avais aussi une solution macro mais j'étais bloqué sur un problème. J'ai donc regardé ta solution PierreJean, et c'est grace à toi que j'ai compris qu'il fallait mettre une virgule pour séparer les données dans la liste de validation, pour qu'Excel mette lui-même un point-virgule.

Je n'y avais pas pensé et l'enregistreur de macro non plus 😡

Un grand merci à toi, mais ce n'est pas la première fois que tu m'apprends quelque chose et sans doute pas la dernière.

Je ne joins pas ma macro car elle est très similaire à celle de PierreJean et n'apportera rien de plus.

@+

Gael
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
26
Affichages
1 K
Retour