cs_LAURENTE
Messages postés11Date d'inscriptionsamedi 19 avril 2008StatutMembreDernière intervention25 avril 2008
-
21 avril 2008 à 19:53
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
22 avril 2008 à 08:57
Bonjour à tous,
J'écris suite à mon message du 19.04 (PROBLEME D'ARRONDIES) et sollicite donc particulièremet casy qui a "presque" su résoudre mon problème...
Effectivement, j'écris le programme suivant sous OOO :
Option Explicit
Dim Lambdaz as double
Dim Lambday as double
Dim LambdaMax as double
Dim KSI as double
... qui marche bien pour LambdaMax 0.8 et LambdaMax 1.0 mais pour LambdaMax = 0.7, rebelote, il m'affiche KSI=0.... Vraiment j'y comprend rien, je vois pas d'ou ça peut venir! HELP HELP HELP
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 22 avril 2008 à 08:55
nettoyé le code, on obtiens :
Sub KSICALCUL()
Dim Lambdaz As Double '# Inutile (a priori) de déclarer tes variables a l'exterieur de ta procédure
Dim Lambday As Double
Dim LambdaMax As Double
Dim KSI As Double
Dim sBuffer As String
'# On mémorise la saisie dans une chaine de caractères
sBuffer = InputBox("Entrez Lambdaz")
'# Est-ce que la chaine est numérique ? (d'après les parametres régionnaux)
If IsNumeric(sBuffer) Then
Lambdaz = CDec(sBuffer) '# ex: 1,6
Else
'# Sinon, on tente via le format international
Lambdaz = Val(sBuffer) '# ex: 1.6
End If
'# Idem, pour Lambday
sBuffer = InputBox("Entrez Lambday")
If IsNumeric(sBuffer) Then
Lambday = CDec(sBuffer)
Else
Lambday = Val(sBuffer)
End If
'# Si Lambday<>0 (puisque il est dénominateur dans la ligne qui suit)
If Lambday Then
'# Pas de CDec, Format ... on joue avec la valeur numérique directement...
LambdaMax = Round(Lambdaz / Lambday, 1)
'# On pourrait aussi utiliser un Select Case LambdaMax
If LambdaMax = 1# Then
KSI = 0.5525
ElseIf LambdaMax = 0.8 Then
KSI = 0.4444
ElseIf LambdaMax = 0.7 Then
KSI = 0.1111
End If
End If
MsgBox (KSI)
End Sub