TP
n° 4 :
Tableur avec macros, Programmation PHP avec
structures conditionnelles
Première partie (rappel): Durée 30 mn
- Consulter un document explicatif sur les SSII à l’adresse suivante : http://pchochois.free.fr/Annee0607/TGSI/TP/TP02_PresentationSSII.htm
- Consulter un document sur les métiers de l’informatique à l’adresse suivante :
http://pchochois.free.fr/Annee0607/TGSI/TP/TP02_SitesMetiersInformatique.html
Important : Ce travail de consultation et de documentation est à poursuivre (Travail personnel).
Seconde partie : Exercices sur un
tableur : Durée 1h30 mn
Vous allez par l'intermédiaire du navigateur Internet, vous diriger sur l'adresse:
http://christianwtd.free.fr/index.php?rubrique=MenuCalc
Ce site vous permet un auto-apprentissage du tableur d'openoffice et vous propose une série d'exercices. Vous exécuterez dans l'ordre donné les menus suivants:
1. Présentation Calc 1.x
2. Présentation Calc 2.x
3. Bien débuter Calc
4. Exercices Calc
Troisième partie : Programmation avec
structures conditionnelles : Durée 1h
1) Si vous n’avez pas terminé les exercices sur les structures conditionnelles du TP n° 3, terminez les !
2) Programme golfPerimat
L’entreprise GolfPerimat est spécialisée dans le vente de matériels de golf (tondeuses, distributeurs de balles de practice…) dans deux régions françaises : l’Aquitaine et le Poitou Charentes.
Le calcul de la rémunération des quatre commerciaux de l’entreprise prend en compte le salaire fixe, une indemnité géographique et la commission sur le chiffre d’affaires réalisé.
L’annexe A présente
les données utilisées pour calculer les rémunérations des commerciaux.
Le comptable a réalisé, à l’aide d’un tableur, un tableau comparatif des rémunérations des commerciaux qui est présenté en annexe B. Pour calculer la rémunération brute, il a réalisé un petit programme qui est activé lorsque l’on clique sur le bouton Calculer.
Le fichier[1] correspondant à ce programme est « golfPerimat.sxc »
Travail à faire :
Compléter l’annexe B pour simuler l’utilisation de la feuille de calcul pour l’année écoulée (voir annexe A). Les salaires fixes n’ont pas évolué, les codes géographiques non plus.
Travail à faire :
Ecrire un programme PHP « golfPerimat.php » qui demande à l’utilisateur de saisir :
le nom du commercial
le prénom du commercial
le salaire fixe
le code géographique
le CA réalisé
Le programme doit ensuite afficher la rémunération brute du commercial
Exemple de résultat à obtenir :
Programme de calcul
de remuneration
***********************************
Nom du commercial
:DUMAS
Prenom du
commercial :Ernest
Salaire fixe :1000
Code geographique
:2
CA realise :45000
Ernest DUMAS a une
remuneration de 2025 euros.
Travail à faire :
Améliorez maintenant pour afficher un message d’erreur si le code géographique saisi est incorrect.
Quatrième partie : le cas GolfPerimat sur un
tableaur: Durée 1h
Téléchargez le classeur golfPerimat.sxc à l’adresse suivante : http://pchochois.free.fr/data/.
Remplacer les chiffres d’affaires des commerciaux par ceux de l’année écoulée.
Cliquer sur le bouton Calculer. L’affichage des rémunérations sur la feuille de calcul doit être conforme aux valeurs calculées dans la troisième partie.
Un programme est exécuté lorsqu’on appuie sur le bouton Calculer. La liste des instructions de ce programme est fournie en annexe C.
Afin d’observer le fonctionnement du programme, nous allons le faire exécuter « pas à pas ».
Pour visualiser les instructions, depuis la barre de menus du classeur GolfPerimat, cliquer sur Outils, Macros, Macro…
Choisir Module1, Sélectionner Calculer et cliquer sur Editer, le programme apparaît.
Nous allons visualiser l'évolution du contenu de certaines variables. Placer le curseur sur une variable puis cliquer sur l’icône de l’option Afficher le témoin. La variable apparaît dans la fenêtre Témoin
Cliquer sur l’icône de l’option étape par étape de la barre d’outils pour démarrer l’exécution, puis pour la faire progresser.
Travail à faire :
Au fur et à mesure de l’exécution, compléter le tableau fourni en annexe D. La colonne action correspond à une instruction exécutée (elles sont numérotées face aux instructions correspondantes dans l’annexe C).
En fait GolfPerimat a étendu son activité, depuis huit mois, à la région Midi-Pyrénées. Cette région est identifiée par le code région 3 et la prime associée est de 1100 euros. Un nouveau commercial, Maurice MARTIN, a été embauché avec un fixe de 1000 euros, il a réalisé un chiffre d’affaires de 35000 euros.
Il s’agit de faire évoluer le programme de calcul des rémunérations.
Travail à faire :
- Calculer la rémunération que doit obtenir le nouveau commercial.
- Sauvegarder le classeur sous le nom golfPerimat2 de façon à ne pas détruire l’existant.
- Ajouter une ligne en fin de tableau et compléter le tableau avec les données du nouveau commercial.
- Modifier le programme pour qu’il prenne en compte la troisième région.
Nom Commercial |
Prénom Commercial |
Fixe brut (en euros) |
Code géographique |
Chiffre d’affaires H.T (en euros) pour l’année écoulée |
|||
DUMAS |
Ernest |
1000 |
2 |
55500 |
|||
LONGET |
Adrien |
1250 |
1 |
79000 |
|||
RIVIERE |
Laure |
1150 |
1 |
56000 |
|||
THOMAS |
Philippe |
1200 |
2 |
48500 |
|||
Indemnité géographique : Aquitaine (1) : 500 euros Poitou Charentes (2) : 800 euros |
|||||||
Taux de commission sur le chiffre d’affaires H.T. : |
|||||||
Chiffre d’affaires H.T. (en euros) |
< 50000 |
50000 à 75000 |
> 75000 |
||||
Taux |
0.5 |
1 |
1.5 |
||||
Exemple d’utilisation de la feuille de calcul
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nom Commercial |
Prénom Commercial |
Fixe brut (en euros) |
Code géographique |
Chiffre d’affaires H.T (en euros) |
Rémunération 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 l’utilisation de la feuille de calcul pour
l’année écoulée (à compléter)
Nom Commercial |
Prénom Commercial |
Fixe brut (en euros) |
Code géographique |
Chiffre d’affaires H.T (en euros) |
Rémunération brute |
DUMAS |
Ernest |
1000 |
2 |
|
|
LONGET |
Adrien |
1250 |
1 |
|
|
RIVIERE |
Laure |
1150 |
1 |
|
|
THOMAS |
Philippe |
1200 |
2 |
|
|
Action |
Liste des instructions pour le calcul de la
rémunération |
Commentaires |
1 2 3 4 5 6 7 8 9 10 11 |
Public numLigne As Integer Sub Calculer() ‘Déclaration des variables Dim codeGeo As Integer
Dim
fixe, CA As Double Dim remuneration As
Double ‘Initialisation des variables numLigne = 3 Call
lireDonnees(fixe, codeGeo, CA) 'Calcul et affichage Do Until finListe()
‘Prise
en compte de la région 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
rémunération 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 données sur des commerciaux Cette procédure permet de
calculer le montant de la rémunération des commerciaux Les variables contenant les
données en entrée. La variable contenant le
résultat attendu. Les données concernant le
premier commercial sont sur la ligne 4 (n° 3) de la feuille de calcul. Appel d’une procédure pour
récupérer dans les variables passées en paramètre les données des cellules de
la ligne la feuille de calcul. Le traitement va être répété
jusqu’à la fin de la liste des commerciaux. La fonction finListe() rend vrai ou faux selon qu’on atteint ou non la fin
de la liste des commerciaux Appel d’une procédure pour
afficher la rémunération dans la cellule de la feuille de calcul. Fin du traitement |
action |
Évolution du contenu
des variables |
||||
codeGeo |
fixe |
CA |
remuneration |
numLigne |
|
Etat initial * |
Ind. |
Ind. |
Ind. |
Ind. |
Ind. |
1 |
0 |
0 |
0 |
Ind. |
3 |
2 |
2 |
1000 |
55500 |
0 |
3 |
3 |
2 |
1000 |
55500 |
1000 |
3 |
5 |
2 |
1000 |
55500 |
1800 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|