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.