• Aucun résultat trouvé

TD 1 - Programmation en VBA

N/A
N/A
Protected

Academic year: 2022

Partager "TD 1 - Programmation en VBA"

Copied!
3
0
0

Texte intégral

(1)

Informatique - DEGEAD 2 Universit´e Paris-Dauphine

TD 1 - Programmation en VBA

Exercice 1 : Programme VBA

Q 1.1 Quels sont les affichages effectu´es par MsgBoxlors de l’ex´ecution de la macromac1 suivante : Sub mac1 ( )

MsgBox ” Bonjour ! ” p r o c 1

p r o c 2 10 End Sub Sub p r o c 1 ( )

MsgBox ” Bi e nv en u e dans l ’ UE47 . ” End Sub

Sub p r o c 2 (ByVal a As I n t e g e r ) I f a > 5 Then

MsgBox ” T r a v a i l l e z b i e n . ” p r o c 3

Else

MsgBox ”Ne t r a v a i l l e z pas . ” End I f

End Sub Sub p r o c 3 ( )

MsgBox ”Bon s e m e s t r e ! ” End Sub

Q 1.2 Trois proc´edures sont d´eclar´ees dans le programme VBA suivant :procA,procB etprocC.

Sub procA ( )

Dim a As I n t e g e r , Dim b As String a = 2 7 : b = a + 10

End Sub

Sub procC (ByVal a As I n t e g e r ) b As I n t e g e r

I f a < 20 Then b = 100

Else

b = 1000 End Sub

(2)

Informatique - DEGEAD 2 page 2 Sub procB ( )

b = 100 procC b

(a) Ce programme contient-il des macros ?

(b) Combien d’erreurs voyez-vous dans le programme ? (c) Corrigez-les.

Exercice 2 : Variables

Q 2.1Quel va ˆetre le contenu de la plage de cellules allant de L1C1 `a L7C1 apr`es ex´ecution des instructions suivantes ?

Dim p As Boolean , q As B o o l e a n p = True: q = False

C e l l s ( 1 , 1 ) . Value = p And q C e l l s ( 2 , 1 ) . Value = p Or q

C e l l s ( 3 , 1 ) . Value = q And q Or p C e l l s ( 4 , 1 ) . Value = q And ( q Or p ) C e l l s ( 5 , 1 ) . Value = p Or q And q C e l l s ( 6 , 1 ) . Value = ( p Or q ) And q C e l l s ( 7 , 1 ) . Value = Not p And ( q Or p ) Q 2.2 Soit le programme VBA suivant :

Dim a As S i n g l e , b As S i n g l e Sub testAB ( )

a = 1 : b = 2

MsgBox ” Avant , a = ” & a & ” e t b = ” & b procA

MsgBox ” Apr`es procA , a = ” & a & ” e t b = ” & b procB

MsgBox ” Apr`es procB , a = ” & a & ” e t b = ” & b End Sub

Sub procA ( )

Dim b As S i n g l e : b = 4 End Sub

Sub procB ( )

b = 3 : a = 10 End Sub

Quel est l’affichage effectu´e par MsgBox lors de l’ex´ecution de la macro testAB?

(3)

Informatique - DEGEAD 2 page 3 Q 2.3 Soientaetb deux variables de mˆeme type, proposez un algorithme ´echangeant leur contenu avec le moins d’instructions possible.

Exercice 3 : Passage de param`etres Q 3.1 Soit le programme VBA suivant :

Sub procC (ByRef a As S i n g l e , ByRef b As S i n g l e ) a = 10 : b = 100

End Sub Sub t e s t C ( )

Dim a As S i n g l e , b As S i n g l e , c As S i n g l e a = 5 : b = 10

MsgBox ” Avant , a = ” & a & ” e t b = ” & b procC a , b

MsgBox ” Apr`es p r e m i e r procC , a = ” & a & ” e t b = ” & b procC a , c

MsgBox ” Apr`es deuxi`eme procC , a = ” & a & ” e t b = ” & b & ” e t c = ” & c End Sub

Quel est l’affichage effectu´e par MsgBox lors de l’ex´ecution de la macro testC? Q 3.2 Soit le programme VBA suivant :

Sub procC (ByRef a As S i n g l e , ByVal b As S i n g l e ) a = 10 ∗ b : b = 100

End Sub

Sub procD (ByRef a As S i n g l e , ByVal b As S i n g l e ) b = 2 0 : a = 10 ∗ b

End Sub Sub testCD ( )

Dim a As S i n g l e , b As S i n g l e a = 5 : b = 10

MsgBox ” Avant , a = ” & a & ” e t b = ” & b procC a , b

MsgBox ” Apr`es procC , a = ” & a & ” e t b = ” & b procD a , b

MsgBox ” Apr`es procD , a = ” & a & ” e t b = ” & b End Sub

Quel est l’affichage effectu´e par MsgBox lors de l’ex´ecution de la macro testCD?

Références

Documents relatifs

´ Ecrivez deux versions d’une fonction qui prend en entr´ee les coordonn´ees de deux points (sous forme de paires de r´eels) et qui renvoie le carr´e de la longueur du

Ecrire une fonction qui prend en entr´ee un entier ´ n et une paire de valeurs r´eelles qui sont en fait les valeurs du cosinus et du sinus d’un certain angle x, et qui renvoie la

Le VBA (Visual Basic pour Application) est u la gage de p og a atio pe etta t d’utilise du code dont la syntaxe est proche du langage Visual Basic pour

- chaque double clic sur Insertion : une procédure qui insère dans la table AGENCE une nouvelle ligne (« AG007 », « TOURS »).. - chaque clic sur Suppression : une procédure

On peut ´ecrire une deuxi`eme fonction qui appelle la premi`ere et renvoie l’indice de la premi`ere occurence de l’´el´ement recherch´e s’il est pr´esent dans le tableau ou

[r]

Utiliser les astuces de concaténation et de nouvelle ligne (voir section « Bon à savoir » en fin du document) pour ajouter le nom du document au message. Utiliser le bouton «

Q 1.3 Ecrivez la proc´ edure age qui prend une date (de naissance) en param` etre et affiche l’ˆ age de la personne ayant cette date de naissance dans une boˆıte de dialogue..