cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
22 sept. 2005 à 15:19
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
23 sept. 2005 à 12:43
Salut
je dois faire la division suivante:
total=0
1/total, donc 1/0, ce qui donne l'infini, et donc dépassement de capacité.
j'ai essayé ceci:
if total=0 then total = 1
pour faire 1/1
mais ça ne marche pas.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 22 sept. 2005 à 18:51
Si il y a dépassement de capacité, il faudrait peut être mieux s'arranger pour que le résultat soit différent de 1. (1/0 = +l'infini, 0/0 = indéfini, 0/1 = 0)
Sub main()
Dim total As Double
Dim calcul As Double
total = 0
If total = 0 Then
calcul = 999999999
else
calcul = 1 / total
endif
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 22 sept. 2005 à 16:07
ah en fait, il me fait 0/1 (ce qui peut arriver dans l'appli), ce qui fait zéro aussi, comme je l'ai vérifié avec msgbox, mais il me dit aussi dépassement de capacité..
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 23 sept. 2005 à 11:30
je vais tester tout ça, je suis sur que ca marche mais en fait je cherchais une solution où je ne doive pas faire tout le calcul dans la condition car il s'agit de toute une série de print et je voulais éviter de doubler tout: une fois si total = 0, une fois si total <> 0.
merci de votre aide.
PS: sur ma calculatrice MAC, 1/0 = infini, je dois dire que la démonstration de cette division est bien loin dans ma mémoire..
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 23 sept. 2005 à 12:01
Honte sur moi ! en simplifiant très fort le problème pour le présenter ici, j'vais perdu de vue une variable qui devait être aussi conditionnelle. Toutes les solutions présentées ici sont donc correctes.