Université Paris 2

Transcription

Université Paris 2
Université Paris 2
M1 AES - Informatique
TD 1
Créez un dossier TD1 dans lequel vous sauvegarderez les fichiers créés lors de cette séance.
Exercice 1 :
Tapez le tableau ci-après sous Excel en prenant garde au format et au cadrage du contenu des
cellules. Pour centrer le titre, utilisez Cellules/Format/Format de cellule/Alignement/Horizontal/Centré
sur plusieurs colonnes.
V e n te s d u 3 fé v r ie r
D é s ig n a tio n
M a rq u e
Q té
P rix u n it. H T
M o n t. H T
TVA
M o n t. T T C
% P ro d u its
2 8 5 ,7 0 €
E c ra n
S yn o
4
Im p rim a n te
Sum sang
2
1 7 8 ,5 0 €
O rd in a te u r p o rta b le
T a s h ib o
1
1 1 0 7 ,8 0 €
O rd in a te u r d e b u re a u
D u ll
2
8 1 4 ,2 0 €
T o ta u x :
Complétez le tableau (la TVA appliquée est 20%) en utilisant :
 Edition / Remplissage / En bas pour les quatre premières lignes
 Edition / Remplissage / A droite pour les totaux.
Lors du calcul du pourcentage représenté par chaque produit, veillez à bien distinguer références
absolues et références relatives !
Triez les lignes du tableau suivant le pourcentage représenté par chaque produit, par ordre
décroissant : sélectionnez le tableau, puis Edition / Trier et filtrer / tri personnalisé.
Enregistrez le fichier sous le nom ventes.
Exercice 2 :
Le comité d’entreprise d’une société propose des voyages à ses salariés et prend en charge une
partie du prix de ces voyages. Le prix que paye chaque salarié est composé d’une partie fixe et d’un
complément individualisé.
La partie fixe est de 200 € si le prix du voyage est inférieur à 700 € et de 350 € sinon.
Le complément individualisé dépend du salaire annuel du salarié : si ce salaire annuel est inférieur à
30 000 €, le complément est de 20% du prix du voyage ; sinon il est de 40% du prix du voyage.
Complétez le tableau suivant en écrivant les formules permettant de calculer la partie fixe, le
complément individualisé, le prix à payer par le salarié et celui restant à la charge de la société.
Utilisez la fonction SI, dont la syntaxe est :
=SI( condition ; valeur si condition vraie ; valeur si condition fausse )
1
cas 1
p rix d u v o y a g e
s a la ire a n n u e l
cas 2
cas 3
cas 4
4 5 0 ,0 0 €
4 5 0 ,0 0 €
9 8 0 ,0 0 €
9 8 0 ,0 0 €
2 5 0 0 0 ,0 0 €
4 0 0 0 0 ,0 0 €
2 5 0 0 0 ,0 0 €
4 0 0 0 0 ,0 0 €
p a rtie fix e
c o m p lé m e n t
p rix à p a y e r (s a la rié )
p rix à p a y e r (s o c ié té )
Enregistrez le fichier sous le nom voyages.
Exercice 3 :
1. M. Lutter dirige la société 2G dont l'activité principale est la vente de produits de beauté et de
parfums. La société compte 3 représentants : M. Legendre, Mme Lesfluttes et M. Perbaut.
Les commerciaux de 2G sont rémunérés sur la base d'un fixe de 700 € par mois, augmenté d'une
prime correspondant à 8% du chiffre d'affaires réalisé.
Saisissez le tableau suivant sous Excel et complétez-le afin de déterminer les salaires des trois
commerciaux au premier trimestre. Prenez garde au format et au cadrage du contenu des cellules et
veillez à bien distinguer références absolues et références relatives !
Entreprise 2G
Salaire des commerciaux
Janvier
Février
Mars
Total 1er Trimestre
Fixe
Taux commission
Chiffres d'affaire
Legendre
Lesfluttes
Perbaut
23 000,00 € 17 500,00 € 20 500,00 €
18 000,00 € 26 000,00 € 23 000,00 €
19 000,00 € 24 000,00 € 22 500,00 €
Legendre
Salaires
Lesfluttes
Perbaut
700,00 €
8%
Donnez à la feuille de calcul le nom politique 1 et enregistrez le fichier sous le nom 2G.
2. M. Lutter a décidé de modifier la politique de rémunération de sa société. Pour cela, il définit les
règles suivantes :

Tout commercial ayant un ou deux enfants percevra une prime mensuelle de 100 €.
S'il a plus de deux enfants, cette prime sera portée à 200 € par mois.

L'activité de son entreprise étant fortement saisonnière pour les ventes, il se propose de faire
évoluer le taux de commission dans l'année (un taux différent pour chaque mois).
M. Lutter souhaite étudier sur les résultats du 1er trimestre l'impact de ces changements. Créez une
copie de la feuille de calcul politique 1 que vous nommerez politique 2. Modifiez la feuille de calcul
politique 2 afin qu’elle tienne compte :

du nombre d’enfants de chaque commercial (M. Legendre n’a pas d’enfant, Mme Lesfluttes en
a quatre et M. Perbaut deux)

des variations du taux de commission. Celui-ci est fixé à 9% en janvier, 10% en février et 8%
en mars.
A nouveau, veillez à bien distinguer références absolues et références relatives !
Sauvegardez le fichier 2G.
2
TD 2
Créez un dossier TD2 dans lequel vous sauvegarderez les fichiers créés lors de cette séance.
Exercice 1 : écriture d’une macro-fonction
Pour acheminer les marchandises de la production à la distribution, les véhicules de la société
GEPALTAN empruntent trois tronçons de route, longs chacun de 20km. La première portion est une
voie express, la seconde une départementale et la dernière se situe en agglomération. Sur chacune
d'elles, les véhicules se déplacent à des vitesses spécifiques, respectivement VE, VD et VA.
On désire calculer la vitesse moyenne sur l'ensemble du trajet et pour chacun des véhicules.
Établissez le tableau suivant sous Excel sur une feuille de calcul que vous nommerez Saroule.
1
2
3
4
5
A
B
Véhicule
Semi-remorque
Camion
Fourgon
VE
90
100
110
C
D
Calcul des vitesses
VD
VA
50
30
50
40
60
45
E
Vitesse moyenne
Rappel : La formule de la vitesse moyenne en fonction des trois autres est :
V = 3*VE*VD*VA / (VE*VD + VE*VA + VD*VA)
Vous allez écrire en Visual Basic la fonction VMOY qui, à partir des trois arguments VE, VD et VA,
retourne la valeur 3*VE*VD*VA / (VE*VD + VE*VA + VD*VA).
Sélectionnez Développeur / Visual Basic : apparaît une nouvelle fenêtre dans laquelle vous
sélectionnez Insertion puis Module.
Vous disposez maintenant d'une fenêtre pour taper VMOY.
La fonction VMOY ayant été écrite, retournez dans la feuille de calcul Saroule.
La formule en E3 doit être =VMOY(B3;C3;D3). Recopiez cette formule vers le bas (Edition /
Remplissage / En bas). Affichez les résultats en E3, E4 et E5 avec 2 décimales.
Enregistrez le fichier sous le nom transport.
3
Exercice 2 : écriture d’une macro-fonction
Ecrivez en Visual Basic la fonction AvecTaxes qui, à partir d'un prix hors taxe, renvoie le prix TTC
correspondant, le taux de TVA étant fixé à 20 %.
Utilisez cette fonction pour compléter le tableau ci-après.
S o c ié té D é c o r
p la c e D u b o is
F a c tu r e
D é sig n a tio n
P r ix u n it. H T
P e in tu re 3 l, m a t
L o t 3 p in c e a u x
P a p ie r p e in t, ro u le a u
C o lle 5 0 c l
Q u a n tité
1 8 ,5 0 €
5
6 ,4 0 €
1
1 1 ,9 0 €
7
4 ,8 5 €
2
P r ix H T
P r ix T T C
T o ta l :
Enregistrez le fichier sous le nom décor.
Exercice 3 : enregistrement d'une macro-commande en mode absolu
Le directeur de la firme Smith doit créer un grand nombre de rapports relatifs au stock de ses
produits. Ces rapports décrivent l’évolution du stock au fil des trimestres dans ses différents entrepôts
et utilisent tous le même en-tête. Nous allons enregistrer une macro qui ajoute cet en-tête à n'importe
quelle feuille de calcul.
Dans l’onglet Développeur, assurez-vous que le bouton Utiliser des références relatives n'est pas
enfoncé : la macro doit utiliser des références absolues !
Dans l’onglet Développeur, appelez Enregistrer une macro. Dans la boîte de dialogue de
l’enregistreur, donnez à la future macro le nom trimestres et prenez t comme Touche de raccourci. La
macro sera enregistrée dans ce classeur Excel. Validez la boîte de dialogues (clic sur OK).
Désormais l’enregistreur est armé : tout ce que vous allez faire va être mis en mémoire pour une
utilisation future.
Créez l’en-tête de tableau suivant :
S o c ié té S m ith
T ri 1
T ri 2
T ri 3
T ri 4
Dans l’onglet Développeur, activez la commande Arrêter l’enregistrement.
Placez-vous sur une nouvelle feuille de calcul du même classeur. Dans l’onglet Développeur, utilisez
la commande Macros, afin d'exécuter la macro trimestres.
Vous pouvez aussi lancer la macro à l’aide de sa touche de raccourci. Testez ce second mode
d'exécution sur une autre feuille de calcul.
Dans l’onglet Développeur, lancez la commande Visual Basic afin de visualiser les instructions
correspondant à la macro trimestres. Remarquez notamment les instructions :
Range(" ..... ").Select
qui permettent de sélectionner une cellule ou une plage de cellules avec des références absolues.
Enregistrez le fichier sous le nom smith.
4
Exercice 4 : enregistrement d'une macro-commande en mode relatif
L’enregistrement en mode relatif s’impose lorsque la macro doit opérer sur des données relatives à la
position initiale, et non sur des adresses absolues comme dans l’exercice précédent.
Supposons que vous souhaitiez disposer d’une macro permettant d’afficher avec le format 0,00
n’importe quelle colonne du tableau suivant, à saisir en respectant la disposition des cellules !
A
B
C
D
E
V e n te s e n to n n e s d e la s o c ié té A R IC O
1
2
3
P ro d u it
2011
2012
2013
2014
4
L e n tille s b lo n d e s
12
13
14
12
5
L e n tille s v e rte s
27
28
28
26
6
S e m o u le fin e
20
22
25
27
7
S e m o u le m o ye n n e
35
32
36
38
8
H a ric o ts
14
12
12
15
9
P o is c a s s é s
6
8
9
10
10
P o is c h ic h e s
9
11
10
13
11
T o ta l
123
126
134
141
Dans l’onglet Développeur, cliquez sur Utiliser les références relatives.
Placez-vous en B4 et cliquez sur Enregistrer une macro. Donnez à la future macro le nom deci2 et le
raccourci d. Validez la boîte de dialogues de l'enregistreur (clic sur OK).
Dans l’onglet Développeur, assurez-vous que la macro deci2 utilisera bien des références relatives.
Sélectionnez les cellules B4 à B11 pour afficher leur contenu avec 2 décimales. Arrêtez
l’enregistrement de la macro : dans l’onglet Développeur, cliquez sur Arrêter l’enregistrement.
Allez maintenant en C4 et faites <CTRL><d>. La colonne doit se formater à son tour. Et ainsi de
suite !
Dans l’onglet Développeur, cliquez sur Visual Basic pour visualiser les instructions correspondant à la
macro deci2.
ActiveCell.Range("A1:A8").Select permet de sélectionner un bloc vertical de 8 cellules.
Selection.NumberFormat = "0.00" affiche avec 2 décimales la sélection courante.
Enregistrez le fichier sous le nom arico.
Exercice 5 : écriture d’une macro-fonction
Un concours sportif consiste en trois épreuves pratiques et une épreuve théorique. Chacune de ces
épreuves est notée sur 20 points. Pour établir la note finale sur 100 points, l’épreuve théorique
compte double.
Ecrivez en Visual Basic la fonction NoteFinale qui renvoie la note finale à partir des notes obtenues
aux différentes épreuves.
Utilisez cette fonction pour compléter le tableau ci-après.
Concours départemental
Session d'été
Nom
Devos
Durand
Martin
Petit
Prénom
Pierre
Aline
Emilie
Hélène
Pratique 1
12
15
14
16
Pratique 2
10
12
11
12
Enregistrez le fichier sous le nom concours.
5
Pratique 3
14
13
15
14
Théorie
11
12
8
10
Note finale
Exercice 6 :
On désire créer une macro interactive qui insère un en-tête de feuille comportant 12 mois dont le
premier, toujours situé en cellule B3, est spécifié par l’utilisateur. Cette macro va-t-elle fonctionner en
mode absolu ou relatif ?
Pour débuter, utilisez l'enregistreur pour créer la macro Mois générant l’en-tête ci-après (onglet
Développeur, Enregistrer une macro).
Une fois la première date tapée en B3, sélectionnez les cellules B3 à M3 puis utilisez la commande
Edition/Remplissage/Série

Série en : lignes

Type : chronologique

Unité de temps : mois.
A
B
C
D
E
F
1
G
H
I
J
K
L
M
oct-06
nov-06
déc-06
S o c ié t é AP O G
2
3
ja n v - 0 6
fé v r - 0 6 m a r s - 0 6
avr-06
m a i- 0 6
ju in - 0 6
ju il- 0 6
août-06 sept-06
4
N’oubliez pas d’arrêter l’enregistrement !
Sur une nouvelle feuille de calcul, lancez la macro Mois pour vous assurer de son bon
fonctionnement.
Visualisez les instructions de la macro Mois. Vous allez modifier cette macro pour la rendre
interactive.
Saisie de la date initiale
Pour permettre à l’utilisateur d’entrer la date initiale, vous allez utiliser une instruction de la forme
... = InputBox(message, titre) où :
 message est le message affiché pour l’utilisateur dans la fenêtre
 titre est le nom de la fenêtre. Si titre est omis, le titre Microsoft Excel est attribué par défaut.
Dans la macro Mois, remplacez l'instruction :
ActiveCell.FormulaR1C1 = "Jan-2006"
par :
ActiveCell.FormulaR1C1 = InputBox("date initiale :", "date")
Exécutez la macro sur une nouvelle feuille de calcul. Le programme s'arrête et affiche la fenêtre
«date». Entrez la date initiale 11/01/2006 (date conforme aux usages anglo-saxons qui correspond au
1er novembre 2006) et cliquez OK.
Affichage d'un message
Pour afficher un message à l'utilisateur, on peut utiliser une instruction :
MsgBox(message)
Directement après l'instruction permettant la saisie de la date initiale, ajoutez la ligne suivante
MsgBox("L'en-tête du tableau comportera 12 mois.")
Exécutez la macro sur une nouvelle feuille de calcul.
6
Saisie de la valeur du pas
L'instruction Selection.DataSeries ...,Step :=1, ...
permet d'appliquer la commande Edition/Recopier/Série à la sélection courante.
La valeur du pas est alors 1 : les mois affichés sont consécutifs.
On souhaite permettre à l'utilisateur de saisir la valeur du pas. Pour cela, remplacez l'instruction
Selection.DataSeries ...,Step :=1, ...
par : Selection.DataSeries ...,Step:=InputBox("valeur du pas ?"), ...
Exécutez la macro sur une nouvelle feuille de calcul.
Utilisation d'une boîte de dialogue prédéfinie
On souhaite ajouter à la macro Mois une dernière instruction qui aura le même effet que la
commande Affichage / Zoom.
Insérez avant la ligne End Sub l'instruction : Application.Dialogs(xlDialogZoom).Show
Exécutez une dernière fois la macro en spécifiant 120% pour le zoom, puis enregistrez votre fichier
sous le nom apog.
7
TD 3
Créez un dossier TD3 dans lequel vous sauvegarderez les fichiers créés lors de cette séance.
Exercice 1 :
Saisissez sous Excel la liste de notes ci-dessous, puis calculez la moyenne de chaque étudiant.
M o y e n n e s d e s d e u x c o n tr ô le s
g ro u p e 6
N o te 1
N o te 2
C a ro ff
Nom
12
17
D e b re u il
14
10
Dupont
10
9
8
14
L a m b e rt
10
13
R ossi
15
11
D uval
M o ye n n e
On souhaite adresser cette liste aux étudiants qui en font la demande. Le nom de l'étudiant doit alors
apparaître en rouge, ainsi que sa moyenne.
Ecrivez en Visual Basic une macro-commande qui effectue cette mise en forme. Celle-ci doit être
lancée une fois que le nom de l'étudiant a été sélectionné.
N.B. :
Pour affecter aux caractères de la sélection courante la couleur rouge, utilisez l'instruction :
Selection.Font.Color = vbRed
Pour sélectionner une cellule située nl lignes vers le bas et nc colonnes vers la droite par rapport à la
sélection courante, utilisez une instruction de la forme :
ActiveCell.Offset(nl,nc).Select
Enregistrez le fichier sous le nom liste.
Exercice 2 :
1. Ecrivez en Visual Basic la macro-commande Largeur qui change la largeur des cinq premières
colonnes d'une feuille de calcul. Celle-ci doit affecter :
 à la colonne A la largeur 10
 aux colonnes B, C et D la largeur 15
 à la colonne E la largeur 20
Testez la macro Largeur sur une feuille de calcul.
2. Modifiez la macro-commande Largeur afin que celle-ci fonctionne de manière relative. La macro
doit affecter :
 à la colonne de la cellule active la largeur 10
 aux trois colonnes à droite la largeur 15
 à la colonne encore à droite la largeur 20
Sur une feuille de calcul, cliquez par exemple en cellule C5 et lancez la macro Largeur.
Enregistrez le fichier sous le nom colonnes.
8
Exercice 3 :
1. Ecrivez en Visual Basic une macro-commande qui change la hauteur de la première ligne d'une
feuille de calcul. A vous de choisir cette hauteur…
2. Ecrivez en Visual Basic une macro-commande qui change la hauteur de la ligne où est située la
cellule active.
Enregistrez le fichier sous le nom lignes.
Exercice 4 :
1. Complétez sur une feuille de calcul nommée Chimie le tableau suivant.
Pour chaque étudiant, la note finale se compose de 2/3 de la note de contrôle et de 1/3 de la note de
projet. Affichez la note finale avec une décimale.
E n s e ig n e m e n t :
C h im ie
R e s p o n s a b le :
M . L e fe r
N om
A x il
C o n tr ô le
P r o je t
12
15
B e rto u
6
9
D u ra n d
14
17
7
8
L e n o ir
8
12
T a ja rd
11
16
F e ril
N o te fin a le
2. Ecrivez la macro Résultat qui, une fois que le nom d'un étudiant a été sélectionné, affiche le
message "Reçu" si sa note finale est supérieure ou égale à 10.
Sélectionnez un nom dans la feuille Chimie et testez la macro Résultat.
3. Modifiez la macro Résultat afin que :
 si la note de l'étudiant est supérieure ou égale à 10, elle affiche "reçu"
 si sa note est inférieure à 10, elle affiche "ajourné".
Testez la macro Résultat sur la feuille Chimie.
4. Modifiez à nouveau la macro Résultat afin que :
 si la note de l'étudiant est supérieure ou égale à 10, elle affiche "reçu"
 si sa note est comprise entre 8 et 10, elle affiche "oral"
 si sa note est strictement inférieure à 8, elle affiche "ajourné".
Testez une dernière fois la macro Résultat sur la feuille Chimie.
Enregistrez le fichier sous le nom jury.
9
Exercice 5 :
1. Saisissez le tableau suivant sous Excel, puis calculez en B9 le total des achats.
A
B
1
P a ris -L o is irs
2
F a c tu re
3
2 0 ,7 5 €
4
C D a u d io
5
liv re d e p o c h e
6
c a rte ro u tiè re
1 1 ,9 0 €
7
a g e n d a lu x e
2 2 ,3 0 €
6 ,2 0 €
8
9
10
to ta l :
A p ayer :
2. Le magasin Paris-Loisirs accorde à ses clients une réduction de 10 % si le total des achats est
supérieur à 100 €.
Ecrivez en Visual Basic la macro-fonction A_payer qui, à partir du total des achats, calcule le
montant à régler. Utilisez cette fonction pour compléter le tableau de la feuille de calcul.
3. Un achat a été oublié, il s'agit d'un dictionnaire à 45,30 €. Insérez une ligne pour ajouter cet achat.
Le montant à payer doit désormais figurer en cellule B11.
4. Effacez le contenu de la cellule B11. Vous allez maintenant calculer le montant à régler à l'aide
d'une macro-commande.
Ecrivez la macro Facture qui, à partir du total des achats, calcule le montant à payer. Une réduction
de 10 % est toujours accordée si le total des achats est supérieur à 100 €.
La macro Facture doit fonctionner en mode relatif !
Cliquez en B11 et lancez la macro Facture.
Enregistrez le fichier sous le nom loisirs.
10
TD 4
Créez un dossier TD4 dans lequel vous sauvegarderez les fichiers créés lors de cette séance.
Exercice 1 :
Une municipalité propose des journées d’activités sportives aux enfants pendant les vacances
scolaires. Le tarif journalier, qui tient compte des revenus annuels du foyer, est :
 19 € si les revenus sont strictement supérieurs à 25 000 €,
 16 € si les revenus sont compris entre 15 000 € et 25 000 €,
 14 € si les revenus sont strictement inférieurs à 15 000 €.
En outre, une réduction de 10 % est appliquée si le foyer compte au moins deux enfants à charge.
Ecrivez en Visual Basic la macro-fonction Tarif qui, à partir des revenus annuels du foyer et du
nombre d’enfants à charge, renvoie le tarif journalier des activités sportives.
Saisissez le tableau suivant sous Excel, puis complétez la colonne « Tarif » à l’aide de cette macrofonction.
Responsable du foyer
Dupuis Jean
Durand Marie
Fournier Paul
Martin André
Revenus
23 567 €
13 787 €
28 544 €
24 912 €
Nb. Enfants
2
1
3
2
Tarif
Enregistrez le fichier sous le nom sport.
Exercice 2 :
Le tableau suivant est une facture de véhicule automobile. Saisissez ce tableau sous Excel, puis
calculez le sous-total de la facture.
C o n c e ssio n d u B o is
R u e d u P a rc
F a c tu re
9 470 €
V é h ic u le H X 2 5
b o îte d e v ite s s e s a u to m a tiq u e
695 €
p e in tu re m é ta llis é e
430 €
a ir-b a g s la té ra u x
125 €
S o u s -to ta l :
890 €
G a ra n tie s u p p lé m e n ta ire
A p ayer :
Le véhicule est garanti pendant un an. Le client a la possibilité d'étendre cette garantie d'une année
supplémentaire pour 890 €. Ecrivez en Visual Basic la macro Garantie qui demande si le client
souhaite l'extension de la garantie et affiche dans la cellule adéquate le montant total à payer. La
macro Garantie doit fonctionner en mode absolu.
Enregistrez le fichier sous le nom voiture.
11
Exercice 3 :
1. Aidez la compagnie d'assurance Lautier à évaluer la cotisation annuelle de ses clients
automobilistes ! Le montant de la cotisation dépend de la catégorie de la voiture :
 pour un véhicule de catégorie A, la cotisation est de 250 €,
 pour un véhicule de catégorie B, elle est de 300 €,
 pour un véhicule de catégorie C, elle est de 400 €.
Ecrivez la macro Assur qui demande la catégorie de la voiture et affiche le montant de la cotisation
correspondante. Celle-ci doit fonctionner en mode relatif !
Cliquez en B4 et testez cette macro sur une feuille de calcul représentée ci-après :
A
1
B
C
A s s u ra n c e s L a u tie r
2
3
4
M o n ta n t
c o tis a tio n a n n u e lle :
5
2. En plus de l'assurance de base, la compagnie Lautier propose à ses clients plusieurs extensions
dont les montants sont indiqués ci-après.
 une assistance médicale (120 €)
 une assurance rapatriement (60 €)
 une assurance permettant de bénéficier d'un nouveau véhicule en cas de panne (50 €)
Vous allez améliorer la macro Assur. En plus de déterminer le prix de l'assurance de base, celle-ci va
demander si les différentes extensions sont acceptées ou non, et afficher les montants
correspondants.
Complétez la feuille de calcul comme suit. N'oubliez pas le calcul du montant à régler !
A
1
B
A s s u ra n c e s L a u tie r
2
3
M o n ta n t
4
c o tis a tio n a n n u e lle :
5
a s s is ta n c e m é d ic a le :
6
a s s u ra n c e ra p a trie m e n t :
7
p rê t d 'u n n o u v e a u v é h ic u le :
8
9
A p ayer :
10
Cliquez en B4 et testez sur cette feuille de calcul la nouvelle macro Assur.
Enregistrez le fichier sous le nom lautier.
12
C
Exercice 4 :
Aidez le magasin Office+ à établir ses factures ! Saisissez le tableau suivant sur une feuille de calcul
que vous nommerez Office+.
F a c tu r e O ffic e +
D é si g n a ti o n
P ri x u n i t.
c a h ie r
5,30 €
c a rn e t
3,60 €
c ra y o n
0,95 €
gom m e
1,35 €
ru b a n a d h é s if
1,80 €
s t y lo s
1,25 €
P ri x
T o ta l :
R é d u c ti o n :
A p a ye r :
N'oubliez pas le calcul du total des prix, de la réduction et du montant à payer !
Une réduction de 20% est en effet appliquée si le total des prix est supérieur à 150 €.
Ecrivez une macro qui, pour chaque produit, demande la quantité désirée et affiche le prix dans la
cellule adéquate. Cette macro doit fonctionner correctement quel que soit le nombre de produits
répertoriés. Testez cette macro sur la feuille de calcul Office+.
Enregistrez le fichier sous le nom office.
13
TD 5
Créez un dossier TD5 dans lequel vous sauvegarderez les fichiers créés lors de cette séance.
Exercice 1 :
1. Etablissez sous Excel le tableau suivant qui présente une liste d'élèves reçus à un examen.
L is te d e s é lè v e s re ç u s
Nom
N o te
A ld i
17
Dupont
1 2 ,5
D u ra n d
10
M a rc e a u
11
M eyes
1 4 ,5
Redon
12
S m ith
1 3 ,5
W eber
15
Une mention est attribuée aux élèves reçus selon la règle suivante :
 note supérieure ou égale à 10 : mention "Passable"
 note supérieure ou égale à 12 : mention "Assez bien"
 note supérieure ou égale à 14 : mention "Bien"
 note supérieure ou égale à 16 : mention "Très bien"
Ecrivez une macro qui, une fois que le nom d'un élève a été sélectionné, affiche à l'écran sa mention.
2. Ecrivez une macro qui demande la saisie du nom d'un élève, puis affiche à l'écran sa mention.
Enregistrez le fichier sous le nom laureats.
Exercice 2 :
Le magasin RevetSol est spécialisé dans la vente de revêtements de sol. Le directeur de ce magasin
a régulièrement besoin de calculer à partir des dimensions des pièces à couvrir et du prix du
revêtement au m2, le prix total du revêtement pour un appartement.
Ecrivez la macro REVETEMENT qui :
 demande à l'utilisateur le prix au m2 du revêtement de sol
 pour chaque pièce, affiche le prix du revêtement dans la cellule adéquate du tableau
 affiche le total à payer.
Etablissez sur une feuille de calcul le tableau suivant, puis exécutez la macro REVETEMENT.
14
A
B
C
D
P R IX D U R E V Ê T E M E N T D E S O L
1
2
3
P IE C E
LONGUEUR
LARGEUR
P R IX
4
SALO N
3
5
5
C O U L O IR
5
2
6
CHAMBRE 1
4
3
7
CHAMBRE 2
4 ,5
2 ,9
8
9
TOTAL
Enregistrez le fichier sous le nom revet.
Exercice 3 :
Le restaurant "Paris-Découverte" accueille régulièrement des groupes de touristes et leur propose
deux menus gastronomiques :
 le menu A à 20 €
 le menu B à 25 €.
Ecrivez la macro REPAS qui établit une facture pour un groupe de touristes.
Pour chaque client, la macro REPAS doit demander le menu choisi (A ou B) et afficher le prix
correspondant. La macro doit également afficher le total à payer pour le groupe.
Utilisez la macro REPAS pour établir la facture du groupe suivant.
R e s ta u ra n t P a ris -D é c o u v e rte
Nom
P ré n o m
B la n c
E tie n n e
B la n c
L a u re
C e rc o
Léon
F o u lo n
E m ile
F o u lo n
P a u lin e
J a rd
F ra n ç o is
J a rd
S o p h ie
L a P o rte
M a rc
V la d ik
Jean
A p ayer :
Enregistrez le fichier sous le nom groupe.
15
P rix
TD 7
Créez un dossier TD7 dans lequel vous sauvegarderez les fichiers créés lors de cette séance.
Exercice 1 :
1. Ecrivez en VBA la macro-fonction En_miles qui convertit en miles une distance initialement
exprimée en km.
N.B. : 1 mile vaut approximativement 1,6 km.
2. On considère le tableau suivant répertoriant les différentes étapes d'un circuit en France.
Ecrivez en VBA la macro-commande circuit qui complète le tableau à l'aide de la macro-fonction
En_miles. Les distances en miles doivent être affichées sans décimale.
La macro-commande circuit doit fonctionner correctement quel que soit la cellule active sur la feuille
de calcul lors de son lancement et quel que soit le nombre d'étapes répertoriées.
C ircu it d u 10 a u 21 a o û t
d a te
d é p a rt
a rrivé e
km
1 0 -a o û t
L ille
P a ris
224
1 4 -a o û t
P a ris
N antes
386
1 6 -a o û t
N antes
B o rd e a u x
331
1 8 -a o û t
B o rd e a u x
To u lo u s e
250
2 1 -a o û t
To u lo u s e
M a rs e ille
400
m ile s
Enregistrez le fichier sous le nom trajet.
Exercice 2 :
Une note est attribuée aux étudiants selon la règle suivante.
 Si l'étudiant est en régime général, il a une note d'examen (sur 20) et une note de contrôle
continu (sur 10). Sa note finale (sur 30) est la somme de ces deux notes.
 Si l'étudiant est en régime optionnel, il a uniquement une note d'examen établie sur 20 points.
Sa note finale est la note d'examen ramenée sur 30 points.
1. Ecrivez la macro-commande général qui, lorsque l'on sélectionne le prénom d'un étudiant inscrit en
régime général, demande ses deux notes (examen et contrôle continu) et les affiche dans les cellules
adéquates.
La macro doit ensuite afficher la note finale avec une décimale.
Testez la macro général sur le tableau ci-après.
Nom
P ré n o m
Exam en
C o n trô le
N o te fin a le
c o n tin u
Dupont
L a u re
L a p o rte
E m ile
M a u re t
Jean
T e rra s
F ra n ç o is e
V e rn ie r
M a rc
2. Ecrivez la macro-commande optionnel qui, lorsque l'on sélectionne le prénom d'un étudiant inscrit
en régime optionnel, demande sa note d'examen et l'affiche dans la cellule adéquate.
La macro doit ensuite afficher la note finale avec une décimale.
Testez la macro optionnel.
3. Ecrivez la macro-commande Notes qui pour chaque étudiant demande son régime (général ou
optionnel) et appelle la macro-commande correspondante.
16
La macro-commande Notes doit fonctionner correctement quel que soit la cellule active sur la feuille
de calcul lors de son lancement et quel que soit le nombre d'étudiants répertoriés.
Enregistrez le fichier sous le nom notes.
Exercice 3 :
Le centre des impôts de Château-Neuf a réparti l'identité des personnes qu'il gère dans différentes
feuilles de calcul Excel suivant leur lieu de résidence. L'une de ces feuilles de calcul est représentée
ci-après.
A
1
2
3
4
5
6
7
8
9
10
Nom
Bardoin
Derpuis
Dumont
Gersou
Verpeau
B
C
D
E
Centre des impôts de Château-Neuf
Secteur 512
Prénom
Marc
Anne
René
Marie
Antoine
Revenu
imposable
23 456 €
11 877 €
54 769 €
43 266 €
35 742 €
Nb de
parts
Quotient
familial
F
Imposable
Le nombre de parts dépend de la situation de famille et du nombre de personnes à charge.
Dans le cas où le responsable de foyer fiscal n'a personne à charge,
 s'il est marié, son nombre de parts est 2 ;
 s'il est célibataire, veuf ou divorcé, son nombre de parts est 1.
Si le responsable de foyer fiscal a une personne à charge, ce nombre de parts est augmenté de 0,5.
Si le nombre N de personnes à charge est supérieur ou égal à 2, le nombre de parts est augmenté
de N-1.
Par exemple, le nombre de parts d'une personne mariée avec deux enfants à charge est 3.
1. Ecrivez la macro-commande NbParts qui, lorsque l'on sélectionne le nom d'une personne,
demande sa situation de famille et le nombre de personnes à charge, puis affiche son nombre de
parts dans la cellule adéquate. Testez la macro-commande NbParts.
2. Le quotient familial est égal au revenu imposable divisé par le nombre de parts.
Ecrivez la macro- commande QF qui, lorsque l'on sélectionne le nom d'une personne pour laquelle le
nombre de parts a déjà été établi, affiche son quotient familial dans la cellule adéquate. Testez la
macro-commande QF.
3. Une personne ne paie pas d'impôt si son quotient familial est inférieur ou égal à 4121 €.
Ecrivez la macro-commande Acquitter qui, lorsque l'on sélectionne le nom d'une personne pour
laquelle le nombre de parts et le quotient familial ont déjà été établis, indique dans la colonne
"Imposable" de la feuille de calcul "oui" si la personne est imposable et "non" dans le cas contraire.
Testez la macro-commande Acquitter.
4. Ecrivez la macro-commande Remplir_tableau qui remplit le tableau de la feuille de calcul à
l'aide des macros précédentes.
La macro Remplir_tableau doit fonctionner correctement quelle que soit la cellule active sur la
feuille de calcul lors de son lancement et quel que soit le nombre de personnes répertoriées.
Enregistrez le fichier sous le nom fiscal.
17
TD 8
Créez un dossier TD8 dans lequel vous sauvegarderez le fichier créé lors de cette séance.
Une entreprise souhaite créer sous Excel un tableau rassemblant les coordonnées de ses clients.
Dans l’onglet Développeur, sélectionnez Visual Basic / Insertion / UserForm, puis créez la feuille ciaprès que vous nommerez Formulaire. Respectez l’alignement des différents contrôles.
Nommez les boutons d’option OptMme,
OptMlle, OptM.
Nommez les zones de texte TxtNom,
TxtPrénom,
TxtNumero,
TxtNomRue,
TxtCode, TxtVille et TxtPays.
Nommez la liste Liste.
Nommez les boutons
CmdAjouter et CmdOK.
de
commande
Ecrivez la macro-commande Clients qui :
 ajoute à la liste les éléments : "rue", "avenue", "boulevard" et "impasse".
 sélectionne la première cellule de la feuille de calcul (A1)
 affiche la feuille Formulaire
Un clic sur le bouton Ajouter doit permettre d’ajouter sur la feuille de calcul les informations relatives à
un nouveau client.
Lorsque tous les clients figurent sur la feuille de calcul, un clic sur le bouton OK doit masquer la feuille
Formulaire.
Voici un exemple de feuille de calcul créée grâce à la macro-commande Clients.
A
B
C
D
E
F
G
1
Mme
A u ra y
L a u re
1 2 , ru e A lb e rt E in ste in
69002
Lyon
F ra n c e
2
M.
D um ont
E m ile
3 6 , im p a sse d u P a n ie r F le u ri
29200
B re st
F ra n c e
3
M lle
F o u rn ie r
H é lè n e
5 4 , b o u le v a rd d u 1 1 n o v e m b re 1 9 1 8
13005
M a rse ille F ra n c e
Enregistrez le fichier sous le nom info_clients.
18
TD 9
Créez un dossier TD9 dans lequel vous sauvegarderez le fichier créé lors de cette séance.
On souhaite rassembler des références bibliographiques sur une feuille de calcul. Ces références
sont de deux types : livre ou article.
Dans le cas d'un livre, on indique :
 l'auteur et les co-auteurs éventuels
 le titre
 l'éditeur
 l'année de parution.
Dans le cas d'un article, on indique de plus :
 le nom de la revue
 les numéros de pages de l'article.
Créez la feuille suivante que vous nommerez Référence. Respectez l’alignement des différents
contrôles.
Nommez les boutons d’option OptLivre et OptArticle.
Nommez les intitulés LbAuteur, LbTitre, LbEditeur, LbAnnée, LbRevue et LbPages.
Nommez les zones de texte TxtAuteur, TxtTitre, TxtEditeur, TxtAnnée, TxtRevue et TxtPages.
Nommez les boutons de commande CmdAjouter et CmdOK.
Les contrôles correspondant au nom de la revue et aux numéros de pages doivent apparaître
uniquement si l'option "article" a été choisie.
Ecrivez la macro-commande Remplit_tableau qui :
 sélectionne la première cellule de la feuille de calcul (A1)
 affiche la feuille Référence.
19
Un clic sur le bouton Ajouter doit permettre d’ajouter sur la feuille de calcul une nouvelle référence
bibliographique.
Lorsque toutes les références figurent sur la feuille de calcul, un clic sur le bouton OK doit masquer la
feuille Référence.
Voici un exemple de feuille de calcul créée grâce à la macro-commande Remplit_tableau.
A
B
1
A u te u r(s ) : B u rd e a u F .
2
T itre :
H is to ire d u d ro it a d m in is tra tif
3
E d ite u r :
PUF
4
Année :
1995
5
6
A u te u r(s ) : S o u rio u x J .-L .
7
T itre :
In tro d u c tio n a u c o u rs d e d ro it d e s o b lig a tio n s
8
E d ite u r :
D a llo z
9
Année :
2000
10
R evue :
C lé s p o u r le s iè c le
11
Pages :
507 et s.
Enregistrez le fichier sous le nom biblio.
20
TD 10
Créez un dossier TD10 dans lequel vous sauvegarderez le fichier créé lors de cette séance.
Une agence de voyages propose à ses clients un séjour en Grèce pour lequel le nombre de places
est limité. Elle souhaite rassembler les noms des participants sur la feuille de calcul ci-après. Celle-ci
sera complétée grâce à une interface.
A
1
B
C
S é jo u r e n G rè c e d u 1 0 a u 1 4 a o û t
2
3
N o m b re m a x im u m d e p la c e s :
50
4
N o m b re d e p la c e s re s ta n te s :
50
5
6
T a rifs p a r p e rs o n n e (e n € ) :
7
v o l e t s é jo u r :
8
s o iré e fo lk lo riq u e :
2 8 ,0 0
9
e x c u rs io n :
1 1 ,0 0
4 7 0 ,0 0
1 0 s u p p lé m e n t v o l ré g u lie r :
8 5 ,0 0
11
12
Nom
N b p e rs .
A p ayer
13
Le tarif minimum par personne est indiqué en cellule B7. S'il le souhaite, le client peut participer à une
soirée folklorique pour 28 € et à une excursion pour 11 €. Si le client préfère un vol régulier à un vol
charter, il doit régler un supplément de 85 € par personne.
Créez la feuille ci-après que vous nommerez Réservation. Respectez l’alignement des différents
contrôles.
Nommez les zones de texte NbPlaces, Nom et NbPers.
Nommez les cases à cocher Soirée, Excursion et Régulier.
Nommez les boutons de commande CmdAjouter et CmdOK.
La feuille Réservation permet d'ajouter de nouveaux clients au tableau dans la limite des places
disponibles.
La macro-commande Remplit_tableau va permettre d'afficher la feuille Réservation.
21
Cette macro-commande peut être lancée, même si des noms de clients figurent déjà sur la feuille de
calcul.
Ecrivez la macro-commande Remplit_tableau qui :
 sélectionne la cellule où sera affichée le nom du prochain client. Pour cela, on recherche la
première cellule vide à partir de la cellule A13.
 affecte à la zone de texte NbPlaces le nombre de places restantes, c'est-à-dire le contenu de
la cellule B4
 affiche la feuille Réservation.
Un clic sur le bouton OK doit masquer la feuille Réservation.
La procédure associée au bouton Ajouter doit respecter le modèle ci-après.
Private Sub CmdAjouter_Click()
places_dispo = Range("B4").Value - NbPers.Value
If ... Then
...
Else
...
End If
...
End Sub
Un message est affiché si l'on dépasse le nombre de places disponibles.
Dans le cas contraire,
 on affiche sur la feuille de calcul le nom du client, le nombre de personnes et le prix à payer
en tenant compte des choix du client.
 on met à jour le nombre de places disponibles en cellule B4 et dans la zone de texte
NbPlaces
 on sélectionne la cellule où sera affiché éventuellement le nom du prochain client
Enfin les informations relatives au client sur la feuille Réservation sont effacées pour faciliter la saisie
de la prochaine réservation.
Enregistrez le fichier sous le nom séjour.
22
TD 11
Créez un dossier TD11 dans lequel vous sauvegarderez le fichier créé lors de cette séance.
Exercice 1 :
Etablissez sur une feuille de calcul que vous nommerez Notes le tableau suivant qui représente les
notes d’un groupe d’élèves.
Nom
Dupont
Durand
Garcia
Lefort
Lester
Martin
Privat
Prénom
Jean
Lucie
Marc
Sophie
Pierre
Eric
Benjamin
Note
5
8
9
18
11
14
6
1. Ecrivez la macro-commande Major qui affiche la meilleure note du groupe, quel que soit l’effectif
du groupe.
2. Modifiez la macro-commande Major pour qu’elle affiche, non seulement la meilleure note du
groupe, mais aussi le nom du major.
Enregistrez le fichier sous le nom algos.
Exercice 2 :
Dans le fichier algos, établissez sur une feuille de calcul que vous nommerez Course le tableau
suivant qui représente le temps de chaque coureur lors d’une course cycliste.
Nom
Smith
Gautier
Legendre
Lejeune
Martel
Mercier
Renard
Prénom
Paul
Philippe
Eddy
Maurice
Pierre
Luc
Etienne
Temps
(minutes)
128
119
126
123
135
111
117
Ecrivez la macro-commande Gagnant qui affiche le nom du gagnant, quel que soit le nombre de
coureurs.
23
Exercice 3 :
Dans cet exercice, vous allez écrire une macro-commande qui traite des feuilles de calcul similaires à
la feuille Notes. Cette macro-commande va utiliser un tableau t déclaré ainsi :
Dim t(100)
La valeur 100 représente alors l’effectif maximal du groupe (loin d’être atteint sur la feuille Notes !).
1. Ecrivez la macro-commande Diplôme qui affecte au tableau t les notes du groupe, puis affiche le
nombre d’élèves de ce groupe.
2. Ecrivez la macro-fonction Moyenne(t,n) qui calcule la moyenne d’un tableau t à n éléments.
Dans la macro-commande Diplôme, utilisez la macro-fonction Moyenne pour afficher la moyenne
du groupe.
3. Ecrivez la macro-fonction NbSup(t, n, val) qui détermine, dans un tableau t à n éléments, le
nombre d’éléments supérieurs ou égaux à val.
Sont reçus les élèves dont la note est au moins égale à 10. Dans la macro-commande
Diplôme, utilisez la macro-fonction NbSup pour afficher le nombre d’élèves reçus.
Les félicitations sont accordées aux élèves dont la note est au moins égale à 16. Dans la
macro-commande Diplôme, utilisez la macro-fonction NbSup pour afficher le nombre d’élèves
ayant obtenu les félicitations.
4. Ecrivez la macro-fonction NbMajors(t, n) qui détermine, à partir d’un tableau t de n notes, le
nombre d’élèves premiers ex aequo dans le groupe.
Dans la macro-commande Diplôme, utilisez la macro-fonction NbMajors pour afficher le nombre
de Majors du groupe. N’hésitez pas à affecter la meilleure note à plusieurs élèves pour tester le
bon fonctionnement de la macro-fonction NbMajors.
24