Slider et volume [Résolu]

cs_marsouin 62 Messages postés vendredi 11 avril 2003Date d'inscription 21 janvier 2007 Dernière intervention - 15 janv. 2007 à 22:14 - Dernière réponse : cs_marsouin 62 Messages postés vendredi 11 avril 2003Date d'inscription 21 janvier 2007 Dernière intervention
- 16 janv. 2007 à 18:39
Bonsoir à tous
Je vous expose mon cas: dans le cadre de calcul de volume d'un cylindre
3 Textbox =>  Text1 = Diametre en mm
                       Text2 = Longueur en mm
                       Text3 = Volume en mm3
                      + 1 Slider avec un max de 10 repères

J'aimerais savoir si il était possible de pouvoir jouer sur les valeurs de Text1 et Text2 en utilisant le Slider et ceci sans Changer la valeur de Text3 qui servira donc de référence
Merci
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 16 janv. 2007 à 09:06
3
Merci
Il te faut quoi, le code tout fait ???? que tu n'ais plus rien à faire.

Alors supposons que ton slider fixe la valeur du diametre :

Sub Slider1_Change()
    Text1.Text = Slider1.Value
    Text2.Text = Text3.Text / (3.1415 * (Text1.Text / 2) ^ 2)
End Sub

Cela en appliquant la formule donnée plus haut L = V / (PI * (D/2)2 )

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de cs_casy
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 15 janv. 2007 à 22:26
0
Merci
Bien sur, dans l'évènement Change de ton slider, tu fais évoluer la valeur qui doit changer (text1 ou text2), et en appliquant la formule de calcul du volume en sens inverse tu peux retouver l'autre valeur.

La formule du volume étant si je me trompe pas V = PI*(D/2)2*L

En faisant varier D, tu retrouve L = V / (PI * (D/2)2 )
et en faisant varier L, tu retrouve D = 2 ( V*(PI*L))1/2

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 15 janv. 2007 à 22:34
0
Merci
Bien évidemment que oui !

Mais c'est avant tout des maths !

Volume = Pi x Rayon² x Hauteur

Or volume est fixe, selon ta définition  

en conséquence :
- si tu modifies Rayon, il te faut calculer la nouvelle hauteur pour ce même volume
-si tu modifies hauteur, il te faut calculer le nouveau rayon pour ce même volume .

Tout celà n'est que mathématique et n'a rien à voir avec VB

En maths, j'aurais donc :
Z = Pi x² y
Z étant fixe :

a)    si tu modifies y :

x = Racine carrée de (Z/pi * Y)

b) si tu modifies x :

y = Z/(pi *x²)

Ton problème n'est pas VB mais autre chose.....
Commenter la réponse de jmfmarques
cs_marsouin 62 Messages postés vendredi 11 avril 2003Date d'inscription 21 janvier 2007 Dernière intervention - 16 janv. 2007 à 00:27
0
Merci
Merci pour ces réponses
mais je confirmes que ce n'est pas un problême de math
Pour préciser ma question
Quel code je peux utiliser pour faire varier L et D en utilisant la fonction Slider
Merci
Commenter la réponse de cs_marsouin
cs_marsouin 62 Messages postés vendredi 11 avril 2003Date d'inscription 21 janvier 2007 Dernière intervention - 16 janv. 2007 à 00:36
0
Merci
Pour éviter de tourner en rond , je vais essayer de préciser ma question
Il s'agit également de faire en sorte que L et D change avec l'utilisation d'1 Slider
Exemple: Plus le Slider va vers la droite plus L augmente et D diminue de manière à ce que V ne change pas
Plus le Slider va vers la gauche plus L diminue et D augmente et cela toujours en gardant la valeur de référence qui est D
Commenter la réponse de cs_marsouin
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 16 janv. 2007 à 09:03
0
Merci
Il me semble que tu te noies dans un verre d'eau !

Je ne vais pas faire ton exercice, mais te donner cet exempla:

Sur une Form :
- une HscrollBar Hscroll1
- une Shape Shape1

Code :

Private depL As Double, depD As Double
Private Sub Form_Activate()
  With HScroll1
    .Min = -1000
    .Max = 1000
    .Value = 0
  End With
  depL = Shape1.Height
  depD = Shape1.Width
End Sub


Private Sub HScroll1_Change()
  HScroll1_Scroll
End Sub


Private Sub HScroll1_Scroll()
  Shape1.Height = HScroll1.Value + depL
End Sub

Voilà donc comment tu fais varier L

Je te laisse bien évidemment appliquer maintenant les calculs plus hauts pour en déduire et fixer la valeur de D !
Commenter la réponse de jmfmarques
cs_marsouin 62 Messages postés vendredi 11 avril 2003Date d'inscription 21 janvier 2007 Dernière intervention - 16 janv. 2007 à 18:39
0
Merci
Merci encore pour ces réponses
Petite précision
En aucun cas je ne veux que vous fassiez mon travail en me donnant un code pret à l'emploi (c'est en faisant des efforts et en réflechissant que ça finis par rentrer)
Mais quand on utilise Vb rarement, et pour des applications bien précise, il n'est vraiment pas évident de se servir d'une fonction qui est, en tous cas pour moi nouvelle.
Commenter la réponse de cs_marsouin

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.