Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion stef784
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

stef784

Guest
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??
 
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
 
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
 
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
 
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
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
870
Réponses
2
Affichages
1 K
M
Réponses
13
Affichages
5 K
M
M
Réponses
20
Affichages
3 K
massol
M
A
Réponses
3
Affichages
21 K
andersfriden
A
M
Réponses
0
Affichages
2 K
MARGAR
M
S
  • Question Question
Réponses
2
Affichages
997
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…