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