Option Boutton / bouton option

Résolu
psgman25 Messages postés 9 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 28 mai 2009 - 22 avril 2009 à 14:09
psgman25 Messages postés 9 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 28 mai 2009 - 27 avril 2009 à 10:10
Salut,
Tout d'abord je vous éxplique ma situation
Je suis en stage et je dois crée un mini programme pour facilité des calculs...

J'utilise un PC avec Windows 2000 professionnel
Visual basic à partir d'Excel
 
J'ai un souci au niveau des boutons options
Lorsque j'effectue le calcul tout fonctionne correctement mais si je modifie l'une des option et clic ensuite sur calculer,
le programme ne change pas le résultat alors qu'il devrais....

Sub calcul2()
If OptionButton4.value = true then
G = 1
ElseIf OptionButton5.value = true then
G = 0
End If

(j'insert "calcul2" dans le Private Sub du bouton qui commande le calcul, du Sub calcul de la formule dans laquelle ces paramètres interviennent et dans les Privates Sub des optionbutton clic ...)

J'ai ce problème à deux endroit dans le programme mais par contre, j'ai 3 option dans une même Frame et aucun souci de ce coté la. 

Voila, donc si quelqu'un pourrai m'éclairer s'il vous plait.

7 réponses

psgman25 Messages postés 9 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 28 mai 2009
27 avril 2009 à 10:10
j'ai utilisé les formules

Feuil1.Cells(X, Y) = TextBox1.Text

TextBox8.Text = Feuil1.Cells(X, Y)

vraiment pratique pour inter agire entre le userform et la feuille de calcul Excel!
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 avril 2009 à 08:45
quelle est la suite du code de calcul2 ?
0
psgman25 Messages postés 9 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 28 mai 2009
23 avril 2009 à 13:38
Dim lon As Single




Dim lar As Single




<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 






Dim Um As Single




Dim Up As Single




Dim Ut As Single





 






Dim Upo As Single




Dim Upf As Single




Dim Uv As Single





 






Dim PTmm As Single




Dim PTmpg As Single




Dim PTmt As Single




Dim PTo As Single





 






Dim G As Single





 






Dim VMC As Single




Dim I4 As Single




Dim Sm As Single




Dim Sp As Single




Dim St As Single




Dim Spe As Single




Dim Spf As Single




Dim Sf As Single




Dim Sptf As Single




Dim Svx As Single




Dim Sg As Single




Dim Smr As Single




Dim Str As Single




Dim Lmm As Single




Dim Lmpg As Single




Dim Lmt As Single




Dim Lo As Single




Dim Dm As Single




Dim Dp As Single




Dim Dt As Single




Dim Dg As Single




Dim Dpt As Single




Dim Dv As Single




Dim Dri As Single




Dim Dr As Single





 






Sub calcul1()




calcul2




calcul3




calcul4





 






lon = 1.25 * ((0.6 * Val(TextBox1)) ^ 0.5)




lar = (0.6 * Val(TextBox1)) / (1.25 * ((0.6 * Val(TextBox1)) ^ 0.5))





 






Sm = 5 * (lon + lar) + 0.5 * lar




Sp = lon * lar




St = lon * lar / (2 * 0.7071)





 






Spe = 2.1




Spf = 4.2




Sf = 1.35




Sptf = 0.6




Svx = 0.6




Sg = 12.5 * G





 






Smr = Sm - Val(TextBox2) * Spe - Val(TextBox3) * Spf - Val(TextBox4) * Sf - Val(TextBox5) * Sptf - Sg




Str = St - Val(TextBox6) * Svx





 






Lmm = 10




Lmpg = 2 * (lon + lar) + G * 10




Lmt = 2 * (lon + lar)




Lo = 2 * (Val(TextBox2) * (3.1) + Val(TextBox3) * (4.1) + Val(TextBox4) * (2.35) + Val(TextBox5) * (1.95) + Val(TextBox6) * (1))





 






Dm = Smr * Um * 33




Dp = Sp * Up * 33




Dt = Str * Ut * 33




Dg = Sg * Um * 33





 






Dpt = (Lmm * PTmm + Lmpg * PTmpg + Lmt * PTmt + Lo * PTo) * 33




Dv = (Val(TextBox2) * Spe * Upo + Val(TextBox3) * Spf * Upf + Val(TextBox4) * Sf * Uv + Val(TextBox5) * Sptf * Uv + Val(TextBox6) * Svx * Uv) * 33





 






Dri = 0.16 * 33 * 0.34 * I4 * ((0.5 * (lar ^ 2)) + lar * 2.5) * lon




Dr = (Val(TextBox7) * (2 - VMC * 0.8 * 2)) * 0.34 * 33




TextBox8 = Format(((Dm + Dp + Dt + Dg + Dpt + Dv + Dri + Dr) * 3.6) / (365), "###")





 







 






End Sub





 






Sub calcul2()




If OptionButton1.Value = True Then




Um = 0.604




Up = 0.656




Ut = 0.369





 






Upo = 1.75




Upf = 2.63




Uv = 2.6





 






PTmm = 0.18




PTmpg = 0.5




PTmt = 0.6




PTo = 0.08




I4 = 0.6








 



ElseIf OptionButton2.Value = True Then





 






Um = 0.344




Up = 0.439




Ut = 0.192





 






Upo = 1.5




Upf = 2.33




Uv = 2.35





 






PTmm = 0.13




PTmpg = 0.4




PTmt = 0.5




PTo = 0.065




I4 = 0.4





 






ElseIf OptionButton3.Value = True Then





 






Um = 0.185




Up = 0.36




Ut = 0.13





 






Upo = 1.25




Upf = 2




Uv = 2





 






PTmm = 0.03




PTmpg = 0.2




PTmt = 0.3




PTo = 0.05




I4 = 0.2





 






End If




End Sub




Sub calcul3()




If OptionButton4.Value = True Then




G = 1




ElseIf OptionButton5.Value = True Then




G = 0




End If




End Sub




Sub calcul4()




If OptionButton5.Value = True Then




VMC = 0




ElseIf OptionButton7.Value = True Then




VMC = 1




End If




End Sub





 







 






Private Sub CommandButton1_Click()




calcul1




calcul2




calcul3




calcul4




End Sub





 






Private Sub Image1_Click()





 






End Sub





 






Private Sub Label9_Click()





 






End Sub





 






Private Sub OptionButton1_Click()




calcul2





 






End Sub





 






Private Sub OptionButton2_Click()




calcul2





 






End Sub





 






Private Sub OptionButton3_Click()




calcul2





 






End Sub





 






Private Sub OptionButton4_Click()




calcul3





 






End Sub





 






Private Sub OptionButton5_Click()




calcul3





 






End Sub





 






Private Sub OptionButton6_Click()




calcul4





 






End Sub





 






Private Sub OptionButton7_Click()




calcul4





 






End Sub
0
psgman25 Messages postés 9 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 28 mai 2009
23 avril 2009 à 13:41
Je me sert du calcul2 pour ne pas répéter tout se code dans les autre optionbuttonX.clic 
j'espèr que tu pourra me dire se qui cloche ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 avril 2009 à 13:48
pourquoi effectuer ces parametrages lors du clic sur les option button puisque tes subs (Calcul1, calcul2 ....) sont appelés dans le click du bouton.

tu fais des Val(Text1.Text)
j'espere que tes données sont bien saisies...


Sub calcul1()
calcul2
calcul3
calcul4

...
End Sub

quel interet dans ce cas d'appeler :
Private Sub CommandButton1_Click()
calcul1
calcul2
calcul3
calcul4
End Sub
0
psgman25 Messages postés 9 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 28 mai 2009
24 avril 2009 à 08:23
ca veu dire que je doi supprimer le calcul2 des optionbouttonclick .....

oui oui mes données sont bien saisie, enfin ji elle ne le sont pas ca beug lol

ha oui je vais essayer de mettre un fenêtre qui s'ouvre lorsque tout les champs n'on pas été rempli pour le signaler et obliger la personne a le faire...

ok est si les calcul2/3/4 sont pri en compte dans le 1 je n'ai pas les remetre dans
Private Sub CommandButton1_Click()
 je vais essayer
0
psgman25 Messages postés 9 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 28 mai 2009
24 avril 2009 à 10:02
Jai essayé d'appliquer les changement, ca fonctionne toujours de la meme façon

les options boutons qui détermine G=1 ou G=0 influe bizzarment dans le calcul, il le fontr varier très lègerement ce qui est normale mais dezsfois tres fortement ce qui est anormal.

En ce qui concerne le VMC=1 ou VMC=0 le souci persiste, j'ai beau faire varier le bouton option le résultat du calcul ne changer strictement pas!
0
Rejoignez-nous