Correction TD VBA PDF

Title Correction TD VBA
Course Informatique 3
Institution Université Jean-Moulin-Lyon-III
Pages 16
File Size 110.9 KB
File Type PDF
Total Downloads 33
Total Views 140

Summary

Correction de tous les exercices TD sur VBA des semaines 1 à 6 ...


Description

A. Séances sur VBA Excel : I. Faire traduire l’algorithme qui suit (réalisé en TD au S3) en une procédure Sub nommée Facture. VAR Q1,Q2,Q3 : entiers MHT, REMISE,TTC : réels Début Ecrire "Quelle est la quantité achetée du produit 1 ?" Lire Q1 Ecrire "Quelle est la quantité achetée du produit 2 ?" Lire Q2 Ecrire "Quelle est la quantité achetée du produit 3 ?" Lire Q3 MHTQ1*3.5+Q2*4.75+Q3*3 Si MHT>750 alors REMISEMHT*0.1 Sinon Si MHT>150 alors REMISE0.05*MHT Sinon REMISE0 Finsi Finsi Si MHT 750 Then Remise = MHT * 0.1 Else If MHT > 150 Then Remise = 0.05 * MHT Else Remise = 0 If MHT < 225 Then MHT = MHT + 8 MHT = MHT - Remise TTC = MHT * 1.196 MsgBox ("Montant à payer : " & TTC & " euros") End Sub

Faire réaliser ensuite la fonction appelée TTC, basée sur le même algorithme, qui calcule le montant TTC à partir de 3 quantités saisies dans trois cellules sur une feuille de calcul (comme cidessous par exemple).Il est important qu'ils comprennent bien la différence entre procédures Sub et Function. Correction : Function TTC(Q1, Q2, Q3) Dim MHT As Double Dim Remise As Double MHT = Q1 * 3.5 + Q2 * 4.75 + Q3 * 3 If MHT > 750 Then Remise = MHT * 0.1 Else If MHT > 150 Then Remise = 0.05 * MHT Else Remise = 0 If MHT < 225 Then MHT = MHT + 8 MHT = MHT - Remise TTC = MHT * 1.196 End Function II. Faire traduire l’algorithme ci-dessous qui permet de saisir successivement 10 notes et 10 coefficients associés et de calculer la moyenne pondérée, en une procédure Sub nommée moyenne. VAR NOTE, SOMNOTE, MOY : réels COEF, SOMCOEF, I : entiers Début SOMNOTE0 SOMCOEF0 Pour I1 à 20 faire Ecrire "Entrez une note" Lire NOTE Ecrire "Entrez le coefficient associé" Lire COEF SOMNOTESOMNOTE+NOTE*COEF SOMCOEFSOMCOEF+COEF Finpour MOYSOMNOTE/SOMCOEF Ecrire "la moyenne pondérée est de :",MOY Fin

Correction : Sub moyenne() Dim NOTE As Single Dim SOMNOTE As Single Dim MOY As Single Dim COEF As Integer Dim SOMCOEF As Integer Dim I As Integer SOMNOTE = 0 SOMCOEF = 0 For I = 1 To 3 NOTE = InputBox("Entrez une note") COEF = InputBox("Entrez le coefficient associé") SOMNOTE = SOMNOTE + NOTE * COEF SOMCOEF = SOMCOEF + COEF Next MOY = SOMNOTE / SOMCOEF MsgBox ("la moyenne pondérée est de :" & MOY) End Sub III. Faire traduire l’algorithme ci-dessous qui permet de faire un petit jeu. Nommez la procédure Sub Jeu. VAR NB, A, COMPTE : entiers Début Ecrire "Entrez le nombre à deviner" Lire NB Ecrire "Entrez une proposition" Lire A COMPTE1 Tant que NBA faire Si A>NB alors Ecrire "C'est moins" Sinon Ecrire "C'est plus" Finsi Ecrire "Entrez une autre proposition" Lire A COMPTECOMPTE+1 Fintant Ecrire "C'est trouvé. Vous avez jouez ",COMPTE," coups" Fin

Correction : Sub jeu() Dim nb As Integer Dim A As Integer Dim COMPTE As Integer nb = InputBox("Entrez le nombre à deviner") A = InputBox("Entrez une proposition") COMPTE = 1 Do While nb A If A < nb Then MsgBox ("C'est plus") Else MsgBox ("C'est moins") A = InputBox("Entrez une autre proposition") COMPTE = COMPTE + 1 Loop MsgBox ("C'est trouvé. Vous avez jouez " & COMPTE & " coups") End Sub IV. Faire traduire l’algorithme ci-dessous (dans une procédure sub nommée Nomois) permettant de saisir un nombre de jours et d'afficher les mois de l’année qui correspondent. Leur demander d’utiliser l’instruction SELECT CASE. VAR JOURS : entier Début Afficher "Entrez le nombre de jours" Saisir JOURS Si JOURS=28 alors Afficher "Février" Sinon Si JOURS=29 alors Afficher "Février" Sinon Si JOURS=30 alors Afficher "Avril, Juin, Septembre, Novembre" Sinon Si JOURS=31 alors Afficher "Janvier, Mars, Mai, Juillet, Août, Octobre, Décembre"

Sinon Afficher "Nombre de jours erroné" Finsi Finsi Finsi Finsi Fin

Correction : Sub Nomois() Dim jours As Integer jours = InputBox("Entrez le nombre de jours") Select Case jours Case 28: MsgBox ("Février") Case 29: MsgBox ("Février") Case 30: MsgBox ("Avril, Juin, Septembre, Novembre") Case 31: MsgBox ("Janvier, Mars, Mai, Juillet, Août, Octobre, Décembre") Case Else : MsgBox ("Nombre de jours erroné") End Select End Sub V. Faire traduire l’algorithme qui suit en langage Visual Basic. Il permet de calculer la valeur globale d'un stock. Vous nommerez la procédure Sub correspondante, STOCKS. VAR CODE : entier I, NB, QTE : entier PRIX, VALEUR : monétaire Début VALEUR0 Afficher "Entrez le nombre de produits :" Saisir NB Pour I1 à NB faire Afficher "Entrez le code du produit : " Saisir CODE Afficher "Entrez le stock actuel du produit :" Saisir QTE Afficher "Entrez le prix du produit :" Saisir PRIX VALEURVALEUR + (QTE*PRIX) FinPour Afficher "Valeur globale du stock :",VALEUR Fin

Correction : Sub stocks() Dim CODE as integer Dim I as integer Dim NB as integer Dim QTE as integer Dim PRIX as currency Dim VALEUR as currency VALEUR=0 NB =inputbox("Entrez le nombre de produits :") For I=1 to NB CODE=inputbox("Entrez le code du produit : ") QTE=inputbox("Entrez le stock actuel du produit :") PRIX=inputbox("Entrez le prix du produit :") VALEUR=VALEUR + (QTE*PRIX) Next Msgbox("Valeur globale du stock :" & VALEUR) End sub

VI. Faire traduire l'algorithme suivant dans lequel on calcule le montant dû par un client pour effectuer des photocopies (procédure Sub Photocop). Var NB, PRIX Début Afficher "Nombre de photocopies : " Saisir NB Si NB...


Similar Free PDFs