Programme

stef784

XLDnaute Junior
Bonjour

On a l'énnoncé suivant:

On considere un impot calculé avec le bareme suivant:

10% pour la tranche allant de 0 à 100
30% pour 100 a 500
50% pour la tranche allant au dela de 500

On me demande d'écrire un programme

voci la correction:

private revenu,impot

input 'entrez votre revenu: ' to revenu

if revenu<=100
impot=revenu/100*10
else
impot=10

if revenu<=500
impot=impot+(30/100)*(revenu-100)
else
impot=impot+30/100*400

impot=impot+(50/100)*(revenu - 500)
endif
endif



mais je ne comprends pas pourquoi :

if revenu<=100
impot=revenu/100*10
else
impot=10


Pourquoi sinon impot=10??
 

jeanpierre

Nous a quitté
Repose en paix
Re : Programme

Bonsoir stef784,

Tout simplement parce qu'il s'agit de tranches et donc qu'elles sont cumulatives.

Si le revenu est inférieur à 100, on trouve 10% du revenu, mais s'il est supérieur, alors :

De 0 à 100, on a 10 +
de 100 à 500 on a 120 (soit 130) +
etc...etc.

Bonne soirée.

Jean-Pierre
 

kjin

XLDnaute Barbatruc
Re : Programme

Bonsoir,
mais je ne comprends pas pourquoi :
if revenu<=100
impot=revenu/100*10
else
impot=10
Pourquoi sinon impot=10??
Effectivement cette ligne n'a de sens dans ton cas, elle peut être supprimmée
Pourquoi ne pas utiliser l'instruction Select Case
Code:
Sub impot()
Dim impot As Double
revenu = InputBox("entrez votre revenu")
Select Case revenu
Case Is <= 100
impot = revenu / 100 * 10
Case Is <= 500
impot = (revenu - 100) * 30 / 100 + 10
Case Else
impot = (revenu - 500) * 50 / 100 + 130
End Select
MsgBox impot
End Sub
A+
kjin
 

jeanpierre

Nous a quitté
Repose en paix
Re : Programme

Re, Bonsoir kjin,

Dire que la ligne n'a aucun sens, je ne suis pas d'accord. Tel que le code est écrit, elle a tout son sens et elle est même obligatoire.

Maintenant dire que l'on peut simplifier le code, alors là, je suis entièrement d'accord.

Il faut être prudent sur les termes employés surtout vis-à-vis de ceux qui découvrent Excel ou de ceux qui ne sont pas encore à l'aise avec.

Bonne nuit.

Jean-Pierre
 

Pierrot93

XLDnaute Barbatruc
Re : Programme

Bonjour Stef, Jean-Pierre, Kjin

une autre approche, à voir si cela peut t'être utile...

Code:
Option Explicit
Sub test()
Dim impot As Double, revenu As Double
revenu = InputBox("Revenu ?")
If revenu <= 100 Then impot = revenu * 0.1
If revenu > 100 And revenu <= 500 Then impot = 10 + (revenu - 100) * 0.3
If revenu > 500 Then impot = 130 + (revenu - 500) * 0.5
MsgBox impot
End Sub

bonne journée
@+
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom