Examen Corrigé Excel VBA QCM EXCEL ET VBA Test Excel VBA avec algorithmique

Exercice I (sur 12 points) 

Soit le programme VBA Excel  suivant :

Fig. 1

(A) Vocabulaire
 (3 points)
 Q1. Qu'est-ce qui est représenté Fig. 1 ?

1.  un algorithme
2.  une macro VBA pour Power Point
3.  une macro VBA pour Excel

Q2. Fig. 1, ligne3, quel nom donne-t-on à l’expression formatée « {compteur} »

1.  une affectation
2.  un commentaire
3.  la déclaration de variables
4.  la déclaration de paramètres

Q3. Fig. 1, ligne 4, quel nom donne-t-on à l’expression formatée «x,y,d : entier »

1.  une affectation
2.  un commentaire
3.  la déclaration de variables
4.  la déclaration de paramètres


Q4. Fig. 1, ligne 5, quel nom donne-t-on à l’expression formatée «d ← 50»

1.  une affectation
2.  un commentaire
3.  la déclaration de variables
4.  la déclaration de paramètres

Q5. Laquelle des expressions ci-dessous définie le plus précisément ce qu’est « Surprise2 »

1.  une action
2.  une action instanciée
3.  une action paramétrée
4.  une macro 

Q6. Quelle construction algorithmique, l’instruction « pour i=… » décrit-il ?

1.  une affectation
2.  une condition
3.  une initialisation
4.  une itération

(B) Fonctionnement du programme donné Fig 1.
(3 points)

Q7. On souhaite connaître les valeurs de x, y et d (ligne 9) au fur et à mesure de l’exécution de « Surprise ». Remplissez le tableau ci-dessous 

Q8. Dessinez ce que vous obtiendrez en exécutant « Surprise ». Utilisez la grille ci-dessous ; on considérera que les carreaux font 25 de large et de 25 de hauteur.

 (C) Modifications simples du programme
 (2 points)

Q9. Dans le code de l’action Surprise2, on ajoute l’instruction « Couleur(Rouge)  »  après l’instruction « Rectangle(x0+50, y0, 2*c,c)  ». 
Puis on exécute Surprise. Par rapport au résultat obtenu après l’exécution de Surprise avant la modification, quelle partie de la figure va-t-elle être modifiée ?

1.  Aucun changement
2.  Le premier carré en haut à gauche
3.  Le premier rectangle en haut à gauche
4.  Tous les carrés 
5.  Tous les rectangles
6.  Tous les carrés et rectangles

Q10. Dans l’algorithme de « Surprise2 », on ajoute l’instruction « Rotation=90 » entre les instructions « Carre(x0, y0, c) » (ligne 16) et « Rectangle(x0+50, y0, 2*c,c) » (ligne 17). 
On exécute « Surprise ». Quelle partie de la figure va-t-elle être modifiée (par rapport au résultat obtenu après l’exécution de « Surprise » telle que définie Fig. 1) ?

1.  Aucun changement
2.  Le premier carré en haut à gauche
3.  Le premier rectangle en haut à gauche
4.  Tous les carrés supérieurs
5.  Tous les rectangles inférieurs 
6.  Tous les carrés et rectangles

 (D) Modifications complexes  du programme
 (4 points)

Q11. Dans l’algorithme de Surprise, remplacez le « pour », par une boucle « tant que ». 

Q12. Modifier l’algorithme de « Surprise2 » pour que, à la fin d’une exécution de « Surprise2 » le carré et le rectangle soient groupés.

Exercice II (sur 3 points)

Ecrire un algorithme permettant de réaliser une étoile à 18 branches comme ci dessous. La position et la taille du trait horizontal seront déclarées en paramètres. 

Fig. 2 Une étoile à 18 branches


Exercice III (sur 4 points)

Dans Excel, on souhaite produire une macro, permettant de faire la somme des valeurs situées dans la colonne C et entre les lignes 1 à 10. (cf. Fig. 3). Le résultat doit apparaître dans la case
A11. 

Fig. 3 Des données dans une feuille Excel

Parmi les instructions ci-dessous (toutes correctes syntaxiquement), choisissez celles qu’il
vous faut et ordonnez les. Une même instruction peut être utilisée plusieurs fois.

1.  Dim i As Integer
2.  Dim i As String
3.  Dim i As Boolean
4.  Dim Sum As Integer
5.  Dim j As Integer

6.  j=0
7.  Sum = 0

8.  For i = 1 to 10
9.  For j = 2 to 6
10. while j< 10

11. i=i+1
12. j=j+1

13. Sum  = Sum+1
14. Sum = Sum+Cells(i,j)
15. Sum = Sum+Cells(i,3)

16. Cells(A,11) = “Sum”
17. Cells(11,1) = “Sum”
18. Cells(11,1) = Sum

19. Next
20. Loop


La macro aura la forme suivante : 
----------------------------------------------------------------------
Sub Sum10L ( )
…{inscrivez ici la suite des numéros des actions, dans l’ordre}

End Sub

----------------------------------------------------------------------

Exercice IV (sur 1 point)

On souhaite transformer la fonction « Sum10L » pour pouvoir calculer la somme de tous les éléments compris entre la ligne 1 et la ligne 10 et entre la colonne B et la colonne F. Proposer une modification de votre programme (sous forme d’une suite de numéro d’instruction). L’ensemble des instructions nécessaires sont données ci-dessus.
-----------------------------------------------------------------------------------
Corrigé   
                  

Article plus récent Article plus ancien

Leave a Reply