Liste déroulante avec macro
Résolu
stitchbouck
Messages postés
137
Statut
Membre
-
stitchbouck Messages postés 137 Statut Membre -
stitchbouck Messages postés 137 Statut Membre -
Bonjour,
ça fait un moment que j'essai de faire une liste déroulante qui active un calcul différent selon le choix de l'utilisateur, en m'aidant de différents forums autour de ce sujet. Et je n'arrive à rien, je dois mal m'y prendre. là encore, je débute...
Bref, je fais une liste déroulante activeX. Le cadre se trouve en cells.(5 , 40) et ma liste en colonne 43. Bon déjà j'ai fini par comprendre comment faire pour que ma liste y apparaisse.
L'opérateur inscrit dans une case cells(9 , 37) la quantité reçue en kg et en sélectionnant le choix approprié, il aura dans la case en dessous la qté en litre selon la densité du produit.
Ma liste est composée de densité différente selon le type de produit : exemple "javel (1.263)" etc.
A chaque choix, un calcul doit donc se lancer :
cells(10 , 37) 'résultat = cells (9 , 37) * 1.263 'pour la javel. c'est donc un autre multiplicateur pour le choix suivant.
et j'arrive à rien notamment parce que je manipule des codes que je ne saisie pas vraiment...
exemple de là où j'en suis après plusieurs recherches :
Pouvez-vous m'aider ? et même si vous avez une idée pour faire un truc plus classe que la liste déroulante, je suis preneur !!
merci à vous !
ça fait un moment que j'essai de faire une liste déroulante qui active un calcul différent selon le choix de l'utilisateur, en m'aidant de différents forums autour de ce sujet. Et je n'arrive à rien, je dois mal m'y prendre. là encore, je débute...
Bref, je fais une liste déroulante activeX. Le cadre se trouve en cells.(5 , 40) et ma liste en colonne 43. Bon déjà j'ai fini par comprendre comment faire pour que ma liste y apparaisse.
L'opérateur inscrit dans une case cells(9 , 37) la quantité reçue en kg et en sélectionnant le choix approprié, il aura dans la case en dessous la qté en litre selon la densité du produit.
Ma liste est composée de densité différente selon le type de produit : exemple "javel (1.263)" etc.
A chaque choix, un calcul doit donc se lancer :
cells(10 , 37) 'résultat = cells (9 , 37) * 1.263 'pour la javel. c'est donc un autre multiplicateur pour le choix suivant.
et j'arrive à rien notamment parce que je manipule des codes que je ne saisie pas vraiment...
exemple de là où j'en suis après plusieurs recherches :
Private Sub frequence_Click() Select Case frequence.Value Case "Choix du produit" Exit Sub Case "Javel (1,263)" Cells(10, 37) = Cells(9.37) * 1.263 Case "Acide Sulfurique (1,85)" Cells(10, 37) = Cells(9.37) * 1.85 Case "Soude (1,52)" Cells(10, 37) = Cells(9.37) * 1.52 Case "Sulfate d'Alumine (1,4)" Cells(10, 37) = Cells(9.37) * 1.4 Case "Acide Phosphorique (1,6)" Cells(10, 37) = Cells(9.37) * 1.6 End Select End Sub
Pouvez-vous m'aider ? et même si vous avez une idée pour faire un truc plus classe que la liste déroulante, je suis preneur !!
merci à vous !
A voir également:
- Macro liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
2 réponses
Bonjour,
je reviens sur ce sujet car j'ai une autre requête pour compléter le code svp.
en effet, la macro fonctionne mais présente des lacunes : lorsque l'on est sur un des choix et que l'on change la qté, la valeur ne se calcule pas d'elle même. il faut aller sur un autre choix, n'importe lequel puis revenir sur le choix d'origine.
y-a-t-il un moyen, toujours en passant par ce système de liste déroulante, pour que le calcul se fasse dès lors qu'il y a une qté renseignée avec le choix déjà sélectionné ?
Merci !
je reviens sur ce sujet car j'ai une autre requête pour compléter le code svp.
en effet, la macro fonctionne mais présente des lacunes : lorsque l'on est sur un des choix et que l'on change la qté, la valeur ne se calcule pas d'elle même. il faut aller sur un autre choix, n'importe lequel puis revenir sur le choix d'origine.
y-a-t-il un moyen, toujours en passant par ce système de liste déroulante, pour que le calcul se fasse dès lors qu'il y a une qté renseignée avec le choix déjà sélectionné ?
Private Sub frequence_Change()
Select Case frequence.Value
Case "Choix du produit"
Exit Sub
Case "Javel (1,263)"
Cells(10, 37).Value = Cells(9, 37).Value / 1263
Case "Acide Sulfurique (1,85)"
Cells(10, 37).Value = Cells(9, 37).Value / 1850
Case "Soude (1,52)"
Cells(10, 37).Value = Cells(9, 37).Value / 1520
Case "Sulfate d'Alumine (1,4)"
Cells(10, 37).Value = Cells(9, 37).Value / 1400
Case "Acide Phosphorique (1,6)"
Cells(10, 37).Value = Cells(9, 37).Value / 1600
Case Else
End Select
End Sub
Merci !
Pas Click mais Change
merci, mais ça ne suffit pas... j'ai même rajouter les ".value" des fois que , mais non les calculs ne se lancent pas quand je sélectionne un choix...
le code est mis dans la feuille contenant la liste déroulante ActiveX. J'ai essayé sur un module aussi et ça n'a rien changé non plus.
Votre code marche......!
Mais vous devez saisir vos Kg avant de choisir votre produit
fichier test: https://mon-partage.fr/f/VxsMujJV/
je ne sais pas si je suis clair...