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

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

  • essai1.xls
    42 KB · Affichages: 77
  • essai1.xls
    42 KB · Affichages: 78
  • essai1.xls
    42 KB · Affichages: 79
Dernière édition:

Gael

XLDnaute Barbatruc
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

  • arno_V1.xls
    42 KB · Affichages: 79

Omicron

XLDnaute Junior
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
 

arno21000

XLDnaute Nouveau
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
 

arno21000

XLDnaute Nouveau
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:

arno21000

XLDnaute Nouveau
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.
 

arno21000

XLDnaute Nouveau
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.
 

pierrejean

XLDnaute Barbatruc
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

  • arno_essai1b.zip
    16.3 KB · Affichages: 51

arno21000

XLDnaute Nouveau
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.
 

pierrejean

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

Re

Voici la version sans doublons

Par contre ,il va me falloir quelques Dolicranes supplementaires pour aborder ton nouveau probleme (demain peut-etre !!)
 

Pièces jointes

  • arno_essai1c.zip
    17.2 KB · Affichages: 41

Gael

XLDnaute Barbatruc
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 :mad:

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
 

Discussions similaires

Réponses
8
Affichages
478

Membres actuellement en ligne

Statistiques des forums

Discussions
312 520
Messages
2 089 299
Membres
104 092
dernier inscrit
karbone57