Vous êtes sur la page 1sur 11

Mostafa HANOUNE 1/11

Exercices Type Examen


Exercice 1
Ecrire l’algo et le programme VB qui permet, pour une liste de commerciaux d’une société donnée de
1. Déduire les ventes annuelles les plus elevées (VAMAX), ainsi que le nom (NomMAX) du
commercial qui les a réalisé
2. Nombre total de commerciaux (NT)
3. Copier les commerciaux (Nom, VA et Ville), de chaque ville dans la feuille excel correspondant au
nom de leurs ville
4. Calculer pour chaque ville le nombre de commerciaux et la moyenne des Ventes Anneulles

Solution

Algorithme :
Entrées : Liste : Nom, VA, Ville
Sorties : Liste : NomMax ; VAMAX, NC
Casa : Nom,VA, Ville, NCC,MVAC
Rabat : Nom,VA, Ville, NCR,MVAR
Traitement:
Début:
NT <- 0, NCC <- 0, NCR <- 0
SVAC<- 0, SVAR <-0
I=2
nomMAX <- Nom (2), VAMAx <- VA (2)
Repeter
Lire.Liste (Nom, VA, Ville)
Si VA > VAMAX Alors
VAMAX <- VA
NomMAX <- Nom
Fin Si
NT <- NT +1
Mostafa HANOUNE 2/11

Si Ville = "Casa" Alors


NCC<- NCC + 1
Afficher.Casa(Nom, VA, Ville)
SVAC <- SVAC + VA
Sinnon
NCR <- NCR + 1
Afficher.Rabat(Nom, VA, Ville)
SVAR <- SVAR + VA
Fin SI
I <- I + 1
Jusqu'à Nom = Vide
MVAC <- SVAC / NCC
MVAR <- SVAR / NCR
Afficher.Liste (NomMAX, VAMAX, NT)
Afficher.Casa(NCC, MVAC)
Afficher.Rabat(NCR, MVAR)
Fin

Programme VB
Private Sub CommandButton1_Click()
Dim I, Nom, VA, Ville, NomMAX, VAMAX, NT, NCC, NCR, MVAC, MVAR, SVAC, SVAR As Variant
NT = 0: NCC = 0: NCR = 0
SVAC = 0: SVAR = 0
I=2
NomMAX = Cells(I, 1): VAMAX = Cells(I, 2)
Do
Nom = Cells(I, 1): VA = Cells(I, 2): Ville = Cells(I, 3)
If VA > VAMAX Then
NomMAX = Nom
VAMAX = VA
End If
NT = NT + 1
If Ville = "Casa" Then
NCC = NCC + 1
Sheets("Casa").Cells(I, 1) = Nom
Sheets("Casa").Cells(I, 2) = VA
Sheets("Casa").Cells(I, 3) = Ville
SVAC = SVAC + VA
Else
NCR = NCR + 1
Sheets("Rabat").Cells(I, 1) = Nom
Sheets("Rabat").Cells(I, 2) = VA
Sheets("Rabat").Cells(I, 3) = Ville
SVAR = SVAR + VA
End If
I=I+1
Loop Until Cells(I, 1) = ""
MVAC = SVAC / NCC: MVAR = SVAR / NCR
Cells(I + 1, 2) = NomMAX
Cells(I + 2, 2) = VAMAX
Mostafa HANOUNE 3/11

Cells(I + 3, 2) = NT
Sheets("Casa").Cells(I + 1, 2) = NCC
Sheets("Casa").Cells(I + 2, 2) = MVAC
Sheets("Rabat").Cells(I + 1, 2) = NCR
Sheets("Rabat").Cells(I + 2, 2) = MVAR
End Sub
Mostafa HANOUNE 4/11

Exercice 2
Ecrire l’algo et le VB qui permet, de calculer, à partir du PU et Q,
1. le montant par article (M)
2. Le montant Total, de tous les articles (MT)
3. Le montant de la remise sachant que (R) :
a. Si le Total est inférieur à 500 DH, pas de remise
b. Si le Total est compris entre 500 et 1500 le taux de la remise est de 5%
c. Si le Total est supérieur à 1500 le taux de la remise est de 15%
4. Le montant après remise (MAR)
5. Le montant de la taxe, sachant que le taux TVA est de 20% (Mtaxe)
6. Le montant TTC (MTTC)
7. Le bonus fidélité sachant que (Bon)
a. Si le TTC est inérieur à 700 DH pas de Bonus
b. Si le TTC est compris entre 700 et 1400 le Bonus est de 10 Points
c. Si le TTC est supérieur à 1400 le Bonus est de 20 Points
NB: On ne connait pas à l’avance le nombre d’article à traiter

Solution
Analyse
1. M = PU * Q
2. MT = MT + M
3. R = F(MT)
4. MAR = MT – R
5. Mtaxe = MAR * 20%
6. MTTC = MAR + Mtaxe
7. Bon = F(MTTC)
Algorithme
Entrées : PU, Q
Sorties : M, MT, R, MAR, Mtaxe, MTTC, Bon
Traitement :
Début :
MT 0
Mostafa HANOUNE 5/11

I2
TantQue PU <> vide
Lire (PU, Q)
MPU*Q
Afficher (M)
MT  MT + M
I  I +1
Fin TantQue
Afficher (MT)
Si MT < 500 Alors
R 0
Sinon
Si MT <1500 Alors
R 5%*MT
Sinon
R 15%*MT
Fin Si
FinSi
MAR  MT – R
Mtaxe  20%*MAR
MTTC  MAR + Mtaxe
Si MTTC < 700 Alors
Bon 0
Sinon
Si MTTC <1400 Alors
Bon  10
Sinon
Bon 20
Fin Si
Fin Si
Afficher (R, MAR, Mtaxe, MTTC, Bon)
Fin
Visual Basic
Private sub BC1_Click()
Dim I, PU, Q, M, MT, R, MAR As Variant
Dim Mtaxe, MTTC, Bon as Variant
MT = 0
I=2
Do While Cells(I, 2)<>’’’’
PU = Cells(I, 2)
Q = Cells(I, 3)
Cells(I, 4) = M
M = PU*Q
Cells(I, 4) = M
MT = MT + M
I = I +1
Loop
Cells(I, 4) = MT
If MT < 500 Then
R=0
Mostafa HANOUNE 6/11

Else
If MT < 1500 then
R = 0.05*MT
Else
R = 0.15*MT
End if
End if
MAR = MT – R
Mtaxe = 0.2*MAR
MTTC = MAR + Mtaxe
If MTTC < 700 Then
Bon = 0
Else
If MTTC < 1400 Then
Bon = 10
Else
Bon = 20
Cells(I+1, 4)=R : Cells(I+2, 4)=MAR
Cells(I+3, 4) )Mtaxe : Cells(I+4, 4)=MTTC
Cells(I+5, 4) = Bon
End Sub
Mostafa HANOUNE 7/11

Exercice 3
Ecrire l’algorithme et le programme VB qui permet de calculer et d’afficher :
1. Salaire de base SB
2. Prime
a. Si NHT est inférieur à 100 pas de Prime
b. Si NHT est compris entre 100 et 200 la prime est de 10% du SB
c. Si NHT est supérieur à 200
i. La prime est de 15% du SB si Ville est Casa
ii. La prime est de 20% du SB pour les autres ville
3. Salaire net (SN), sachant que SN = SB + AF + Prime - Prélèvements
a. Pour les AF
Pour Casa
i. L’état paie 300 DH pour les 4 premiers enfants, 200 DH pour les 2 qui suivent, 100
pour le 7ème enfant et Zéro pour le reste
b. Pour Rabat
i. L’état paie 350 DH pour les 4 premiers enfants, 150 DH pour les 2 qui suivent, 50
pour le 7ème enfant et Zéro pour le reste
c. Les Prélèvements sont de 5% du SB
4. La somme des SN
5. La moyenne des SN de Casa

NB : Les Entrées seront saisies dans la feuille « Liste » et les sorties dans la feuille « Paie »

Analyse :
SB, Prime, SN, SSN, MSNCasa
1. SB = NHT * TH
2. Prime = F(NHT, Ville)
3. SN = SB + Prime + AF – Pr
a. AF = F (Ville, NE)
b. Pr = 5% * SB
Mostafa HANOUNE 8/11

4. SSN = SSN + SN
5. MSNCasa = SSNCasa / NSCasa
a. SSNCasa = SSNCasa + SN (Casa)
b. NSCasa = NSCasa + 1 (Casa)
=================================================================
Algorithme
Entrées : Liste : NHT, TH, NE, Ville, Nom
Sorties : Paie : Nom, SB, Prime, SN, SSN, MSNCasa
Traitement :
Début
SSN  0 , SSNCasa 0 , NSCasa  0
Pour I = 2 A 7
Lire.Liste (NHT, TH, Ville, Nom)
SB  NHT * TH
Si NHT < 100 Alors
Prime  0
Sinon
Si NHT < 200 Alors
Prime  10%*SB
Sinon
Si Ville = ‘’Casa’’ Alors
Prime  15%*SB
Sinon
Prime  20%*SB
Fin SI
Fin Si
Fin Si
Si Ville = ‘’Casa’’ Alors
Si NE<=4 Alors
AF300*NE
Sinon
Si NE<=6 Alors
AF4*300 + (NE-4)*200
Sinon
Si NE <= 7 Alors
AF4*300 + 2*200 + (NE-6)*100
Sinon
AF4*300 + 2*200 + 1*100
Fin Si
Fin Si
Fin Si
Sinon
Si NE<=4 Alors
AF 350*NE
Sinon
Si NE<=6 Alors
AF4*350 + (NE-4)*150
Sinon
Si NE<=7 Alors
AF4*350 + 2*150 + (NE-6)*50
Mostafa HANOUNE 9/11

Sinon
AF4*350 +2*150 + 1*50
Fin Si
Fin Si
Fin SI
Fin Si
Pr  5% * SB
SN  SB + Prime + AF – Pr
SSN  SSN + SN
Si Ville = ‘’Casa’’ Alors
SSNCasa = SSNCasa + SN
NSCasa = NSCasa + 1
Fin Si
Afficher.Paie (Nom, SB, Prime, SN)
Suivant
MSNCasa  SSNCasa / NSCasa
Afficher.Paie (SSN, MSNCasa)
Fin
Mostafa HANOUNE 10/11

Exercice 4

Ecrire l’algorithme et le programme VB qui permet de réaliser ce qui suit


1. Calculer et afficher les ventes annuelles (VA) par commercial
2. Calculer et afficher la Prime (P) par Commercial
a. Si VA est inférieur à 4000 pas de Prime
b. Si VA est comprise entre 4000 et 4500 la prime est de 3% du VA
c. Si VA est supérieur à 4500 la prime est de 5% du VA
3. Calculer et afficher les ventes Globales (VG) (Sommes des ventes annuelles)
4. Calculer et afficher la Moyenne des Ventes par commercial (MVC)
5. Calculer et afficher Nombre de Commerciaux ayant eu une Prime (NCP)
6. Calculer la Moyenne des ventes des commerciaux de « Casa » (MVCC)

Solution
Private Sub CommandButton1_Click()
Dim I, VT1, VT2, VT3, VA, P, VG, MVC, NCP As Variant
VG = 0
NCP = 0
For I = 2 To 5
VT1 = Cells(I, 2)
VT2 = Cells(I, 3)
VT3 = Cells(I, 4)
VA = VT1 + VT2 + VT3
VG = VG + VA
If VA < 4000 Then
Mostafa HANOUNE 11/11

P=0
Else
NCP = NCP + 1
If VA < 4500 Then
P = 0.03 * VA
Else
P = 0.05 * VA
End If
End If
Cells(I, 5) = VA
Cells(I, 6) = P
Next
Cells(10, 5) = VG
Cells(12, 5) = NCP
MVC = VG / 8
Cells(11, 5) = MVC
End Sub

Vous aimerez peut-être aussi