Probléme de code VB6
stefen
-
williom Messages postés 230 Date d'inscription Statut Membre Dernière intervention -
williom Messages postés 230 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voila j'ai tenter un code en vb 6 mais il ne marche pas et je ne voie pas mon erreur a chaque fois que j'entre une valeur exemple 166 il me met montant de la franchise 150 ce qui n'est pas normal car pour 166 il devrais faire 166*0.1 quelqu'un a une idée ??? de pb
Option Explicit
Sub main()
Dim mtf As String
Dim mtr As String
mtr = InputBox("saisir montant des réparations :")
mtf = (mtr * 0.1)
If mtf >= 150 Then
MsgBox ("le mt de la franchise est de : " & mtf)
ElseIf mtf >= 600 Then
MsgBox ("le mt de la franchise est de : " & 600)
Else: MsgBox ("le mt de la franchise est de : " & 150)
End If
End Sub
voila j'ai tenter un code en vb 6 mais il ne marche pas et je ne voie pas mon erreur a chaque fois que j'entre une valeur exemple 166 il me met montant de la franchise 150 ce qui n'est pas normal car pour 166 il devrais faire 166*0.1 quelqu'un a une idée ??? de pb
Option Explicit
Sub main()
Dim mtf As String
Dim mtr As String
mtr = InputBox("saisir montant des réparations :")
mtf = (mtr * 0.1)
If mtf >= 150 Then
MsgBox ("le mt de la franchise est de : " & mtf)
ElseIf mtf >= 600 Then
MsgBox ("le mt de la franchise est de : " & 600)
Else: MsgBox ("le mt de la franchise est de : " & 150)
End If
End Sub
A voir également:
- Probléme de code VB6
- Code ascii - Guide
- Vb6 - Télécharger - Divers Utilitaires
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
7 réponses
Tant mieux si tu es content mais ce programme est faux et archi illogique
La franchise est divisée par 10 quand on passe de 149 à 150
le cas >=600 n'est JAMAIS traité.
avec 149, le montant de la franchise est de 150
avec 150, le montant de la franchise est de 15
avec 1000, le montant de la franchise est de 100
avec 10000, le montant de la franchise est de 1000
Si c'est bien ça que tu veux ...
La franchise est divisée par 10 quand on passe de 149 à 150
le cas >=600 n'est JAMAIS traité.
avec 149, le montant de la franchise est de 150
avec 150, le montant de la franchise est de 15
avec 1000, le montant de la franchise est de 100
avec 10000, le montant de la franchise est de 1000
Si c'est bien ça que tu veux ...
Bonjour
C'est parfaitement normal au contraire.
166*0,1, ça fait 16.6
çà n'est pas plus grand que 150, donc le 1er Msgbox est ignoré
çà n'est pas plus grand que 600, donc le 2nd Msgbox est ignoré
Il reste le 3ème
Au passage, des choses étonnantes dans ton programme :
si mtf est >= 6000, tu n'afficheras jamais 600
Pourquoi concaténer 2 chaines constantes : "le mt de la franchise est de : " & 150, autant écrire directement "le mt de la franchise est de : 150"
C'est parfaitement normal au contraire.
166*0,1, ça fait 16.6
çà n'est pas plus grand que 150, donc le 1er Msgbox est ignoré
çà n'est pas plus grand que 600, donc le 2nd Msgbox est ignoré
Il reste le 3ème
Au passage, des choses étonnantes dans ton programme :
si mtf est >= 6000, tu n'afficheras jamais 600
Pourquoi concaténer 2 chaines constantes : "le mt de la franchise est de : " & 150, autant écrire directement "le mt de la franchise est de : 150"
bonjour,
dans un premier temps, déclare tes variables en Double, car ce ne sont pas des chaines de caractères, mais des nombres...
Dim mtf As Double
Dim mtr As Double
je ne vois pas d'erreur de traitement : 166*0.1= 16.6 donc ce n'est ni supérieur à 150 ni supérieur à 600 donc çà execute ton "else". La première condition ne serait pas plutôt " if (mtf <= 150) then " ?
ou alors le test ne serait-il pas à faire sur le montant : mtR ?
dans un premier temps, déclare tes variables en Double, car ce ne sont pas des chaines de caractères, mais des nombres...
Dim mtf As Double
Dim mtr As Double
je ne vois pas d'erreur de traitement : 166*0.1= 16.6 donc ce n'est ni supérieur à 150 ni supérieur à 600 donc çà execute ton "else". La première condition ne serait pas plutôt " if (mtf <= 150) then " ?
ou alors le test ne serait-il pas à faire sur le montant : mtR ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
allez zou !
Option Explicit
Sub main()
Dim mtr As Double
mtr = InputBox("saisir montant des réparations :")
If mtr >= 150 Then
MsgBox ("le mt de la franchise est de : " & (mtr * 0.1))
ElseIf mtr >= 600 Then
MsgBox ("le mt de la franchise est de : 600")
Else
MsgBox ("le mt de la franchise est de : 150")
End If
End Sub
Option Explicit
Sub main()
Dim mtr As Double
mtr = InputBox("saisir montant des réparations :")
If mtr >= 150 Then
MsgBox ("le mt de la franchise est de : " & (mtr * 0.1))
ElseIf mtr >= 600 Then
MsgBox ("le mt de la franchise est de : 600")
Else
MsgBox ("le mt de la franchise est de : 150")
End If
End Sub