Vous êtes sur la page 1sur 4

Ph Chochois Bain dinformatique : Dcouverte de lalgorithmie et de la programmation Page 1

Dcouverte dun algorithme laide dune macro sous Excel


Lentreprise GolfPerimat est spcialise dans le vente de matriels de golf (tondeuses, distributeurs
de balles de practice) dans deux rgions franaises : lAquitaine et le Poitou Charentes.

Le calcul de la rmunration des quatre commerciaux de lentreprise prend en compte le salaire fixe,
une indemnit gographique et la commission sur le chiffre daffaires ralis.

Lannexe A prsente les donnes utilises pour calculer les rmunrations des commerciaux.

Le comptable a ralis, laide dun tableur, un tableau comparatif des rmunrations des
commerciaux qui est prsent en annexe B. Pour calculer la rmunration brute, il a ralis un petit
programme qui est activ lorsque lon clique sur le bouton Calculer.

Le fichier
i
correspondant ce programme est golfPerimat.xls

Premire partie : Utilisation de la feuille de calcul

Annexes utiliser : annexe A et annexe B.
Fichier tlcharger : golfPerimat.xls.

Questions

1.1 Calculer les montants devant figurer dans les cases vides du tableau en annexe B pour simuler
lutilisation de la feuille de calcul pour lanne coule (voir annexe A). Les salaires fixes nont pas
volu, les codes gographiques non plus.

1.2 Ouvrir le classeur golfPerimat.xls.
Remplacer les chiffres daffaires des commerciaux par ceux de lanne coule.
Cliquer sur le bouton Calculer. Laffichage des rmunrations sur la feuille de calcul doit tre
conforme aux valeurs calcules dans la question 1.


Deuxime partie : Analyse des instructions associes la feuille de calcul

Annexe utiliser : annexe C.
Fichier utiliser : golfPerimat.xls.

Un programme est excut lorsquon appuie sur le bouton Calculer. La liste des instructions de ce
programme est fournie en annexe C.
Afin dobserver le fonctionnement du programme, nous allons le faire excuter pas pas .

Afin de bien visualiser le remplissage de la feuille Excel, supprimer les donnes de la colonne
Rmunration brute .

Pour visualiser les instructions, depuis la barre de menus Excel du classeur GolfPerimat, cliquer
sur Outils, Macro, Macros.
Slectionner Calculer et cliquer sur le bouton Pas pas dtaill. La liste des instructions du
programme Calculer s'affiche. Afin de visualiser les modifications ralises par le programme sur le
tableau, nous allons galement afficher la feuille de calcul. Pour cela, cliquer avec le bouton droit sur
la barre des tches de Windows puis cliquer sur Mosaque verticale.
Nous allons galement visualiser l'volution du contenu de certaines variables. Cliquer sur le menu
Dbogage (fentre Microsoft Visual Basic), puis Ajouter un espion". Entrer le nom de variable
remuneration puis cliquer sur OK.
Dmarrer l'excution pas pas en appuyant sur les touches F8 (ou shift + F8). chaque appui
sur la touche F8, lordinateur excutera une instruction du programme.
Visualiser les actions sur la feuille de calcul et sur le contenu de la variable affiche dans la fentre
Espions aprs chaque instruction et essayer de comprendre la logique et le principe du programme.


Ph Chochois Bain dinformatique : Dcouverte de lalgorithmie et de la programmation Page 2

Troisime partie : volution des besoins pour le calcul des rmunrations

En fait GolfPerimat a tendu son activit, depuis huit mois, la rgion Midi-Pyrnes. Cette rgion est
identifie par le code rgion 3 et la prime associe est de 1100 euros. Un nouveau commercial,
Maurice MARTIN, a t embauch avec un fixe de 1000 euros, il a ralis un chiffre daffaires de
35000 euros.
Il sagit de faire voluer le programme de calcul des rmunrations.

Questions

3.1- Calculer la rmunration que doit obtenir le nouveau commercial.

3.2- Sauvegarder le classeur sous le nom golfPerimat2 de faon ne pas dtruire lexistant.

3.3- Ajouter une ligne en fin de tableau et complter le tableau avec les donnes du nouveau
commercial.

3.4- Modifier le programme pour quil prenne en compte la troisime rgion.



Ph Chochois Bain dinformatique : Dcouverte de lalgorithmie et de la programmation Page 3
Annexe A : donnes pour le calcul de la rmunration des commerciaux

Nom Commercial Prnom
Commercial
Fixe brut (en euros) Code gographique Chiffre daffaires
H.T (en euros) pour
lanne coule
DUMAS Ernest 1000 2 55500
LONGET Adrien 1250 1 79000
RIVIERE Laure 1150 1 56000
THOMAS Philippe 1200 2 48500
Indemnit gographique : Aquitaine (1) : 500 euros Poitou Charentes (2) : 800 euros
Taux de commission sur le chiffre daffaires H.T. :
Chiffre daffaires H.T.
(en euros)
< 50000 50000 75000 > 75000
Taux 0.5 1 1.5


Annexe B : tableau comparatif de la rmunration des commerciaux

Exemple dutilisation de la feuille de calcul




Nom
Commercial
Prnom
Commercial
Fixe brut
(en euros)
Code
gographique
Chiffre
daffaires
H.T (en
euros)
Rmunration
brute
DUMAS Ernest 1000 2 45000
2025
LONGET Adrien 1250 1 75800
2887
RIVIERE Laure 1150 1 54800
2198
THOMAS Philippe 1200 2 53000
2530




Simulation de lutilisation de la feuille de calcul pour lanne coule
Nom
Commercial
Prnom
Commercial
Fixe brut
(en euros)
Code
gographique
Chiffre
daffaires
H.T (en
euros)
Rmunration
brute
DUMAS Ernest 1000 2

LONGET Adrien 1250 1

RIVIERE Laure 1150 1

THOMAS Philippe 1200 2



Calculer

Ph Chochois Bain dinformatique : Dcouverte de lalgorithmie et de la programmation Page 4
Annexe C : instructions en langage VBA pour le calcul de la rmunration des commerciaux.

Action Liste des instructions pour le calcul de la
rmunration
Commentaires












1

2




3

4

5



6


7

8




9

10
11


Public numLigne As Integer


Sub Calculer()

Dclaration des variables
Dim codeGeo As Integer
Dim fixe, CA As Double

Dim remuneration As Double

Initialisation des variables
numLigne = 4

Call lireDonnees(fixe, codeGeo, CA)

'Calcul et affichage
Do Until finListe()
Prise en compte de la rgion
remuneration = fixe
If codeGeo = 1 Then
remuneration = remuneration + 500
Else
remuneration = remuneration + 800
End If
Prise en compte du CA
If CA < 50000 Then
remuneration = remuneration + (CA * 0.5 / 100)
Else
If CA < 75000 Then
remuneration = remuneration + (CA * 1 / 100)
Else
remuneration = remuneration + (CA * 1.5 / 100)
End If
End If
'Afficher la rmunration du commercial
Call ecrireResultats(remuneration)
'Passer au commercial suivant
numLigne = numLigne + 1
Call lireDonnees(fixe, codeGeo, CA)
Loop Fin de la boucle
End Sub

Cette variable va voluer pour permettre
de parcourir toutes les lignes de la feuille
de calcul contenant des donnes sur des
commerciaux

Cette procdure permet de calculer le
montant de la rmunration des
commerciaux


Les variables contenant les donnes en
entre.

La variable contenant le rsultat attendu.


Les donnes concernant le premier
commercial sont sur la ligne 4 de la feuille
de calcul.

Appel dune procdure pour rcuprer
dans les variables passes en paramtre
les donnes des cellules de la ligne la
feuille de calcul.

Le traitement va tre rpt jusqu la fin
de la liste des commerciaux. La fonction
finListe() rend vrai ou faux selon
quon atteint ou non la fin de la liste des
commerciaux























Appel dune procdure pour afficher la
rmunration dans la cellule de la feuille
de calcul.




Fin du traitement