TD n°0
Cela vous permettra de conserver plus facilement le corrigé des exercices. ... les
déboguer, et manipuler les objets du logiciel (seconde partie du cours).
Part of the document
Outils Informatiques 2, feuille de T D n°0 Objectifs: Macros et découverte de VBA Découvrir la notion de macro et l'environnement de programmation VBA sous
Word et Excel. Associer une touche ou un élément graphique à une macro.
Dans tous les exercices, enregistrez REGULIEREMENT vos fichiers sur votre
support de sauvegarde (clé USB ) après y avoir préalablement créé un
dossier TD0_votre_nom. A défaut, créez un tel dossier sur le disque dur,
puis recopiez-le à la fin sur la clé USB d'un(e) camarade. Conseil pour réaliser les TD: Ecrivez les programmes sous l'éditeur de VBA,
testez les puis recopiez les dans ce document que vous aurez enregistré
dans votre espace de travail. Cela vous permettra de conserver plus
facilement le corrigé des exercices.
1 Exercice 1: enregistrement de macros avec Word 1. Commencez l'enregistrement d'une macro à l'aide du menu :
Outils/Macro/Nouvelle macro.
Vous devez fournir les renseignements suivants :
Nom de la macro : sauvega
Enregistrer dans : td0.doc(document)
Il apparaît une petite fenêtre contenant deux boutons : le carré vous
permet d'arrêter l'enregistrement, et le rond vous permet de le suspendre
temporairement ou de le reprendre.
Toutes les modifications que vous allez apporter à partir de maintenant à
ce document vont être rangées dans la macro sauvega que vous êtes en train
de créer
2. Sauvegardez ce document sous le nom sauvetd0 dans le dossier portant
votre nom situé dans votre clé USB à l'aide du menu Fichier/Enregistrer
sous.
3. Arrêtez l'enregistrement de la macro par le menu : Outils/Macro/Arrêter
l'enregistrement ou en cliquant sur le bouton carré de la petite fenêtre
de contrôle de l'enregistrement, qui doit alors disparaître.
4. Visualisez la macro sauvega que vous venez de créer :
Outils/Macro/Macros.../sauvega/modifier
Vous visualisez maintenant l'environnement de programmation VBA. Dans cet
environnement vous pouvez: modifier les macros, les exécuter, les déboguer,
et manipuler les objets du logiciel (seconde partie du cours). Les macros
sont rangées dans des fichiers particuliers, appelés modules, qui peuvent
être attachés à votre document ou à tous, selon les choix effectués lors de
l'enregistrement. Vous pouvez visualiser les modules et les documents par
l'explorateur de projet (menu affichage) L'environnement VBA peut être aussi accessible par les touches alt + F11. 5. Dans cette macro regardez où apparaît le nom sauvetd0 et remplacez le
par sauve0.
6. Exécutez la macro sauvega par le menu
Outils/Macro/Macros.../sauvega/exécuter
7. Vérifiez que vous avez bien un nouveau fichier sur votre clé USB.
8. De même enregistrez une macro appelée « rouge » qui met en rouge le
texte sélectionné.
9. Enregistrez une macro appelée « engraisse » qui met en gras le texte
sélectionné.
10. Enregistrez une macro appelée « arial » qui donne la fonte arial au
texte sélectionné.
11. Enregistrez une macro qui change l'interligne du paragraphe dans lequel
se situe le curseur. Modifiez ensuite les constantes et observez les
modifications induites sur un paragraphe quand vous exécutez cette macro.
12. Ecrivez le texte suivant dans l'éditeur VBA, puis exécuter cette macro
pour étudier son effet.
sub troischoses() rouge engraisse arial End Sub On peut donc, à partir d'une macro, en appeler d'autres, et les exécuter en
séquence. 13. Enregistrer une macro « ins3 » qui insère le texte « première
insertion » puis descend d'une ligne et insère le texte « deuxième
insertion » puis descend encore d'une ligne et insère « troisième
insertion ».
Vous avez constaté que l'on peut éditer et exécuter une macro à l'aide de
l'environnement de programmation. Vous allez maintenant découvrir la
possibilité d'exécuter une macro pas à pas, c'est à dire instruction par
instruction, en visualisant à chaque étape les changements effectués. 14. Exécuter pas à pas la macro ins3 par :
Outils/Macro/Macros.../ins3/exécuter pas à pas
15. Revenez dans Word et utilisez la touche F8 pour avancer d'un pas
l'exécution de la macro. En tapant plusieurs F8 vous devez voir apparaître
un par un les textes « première insertion » « deuxième insertion » et
« troisième insertion ».
16. Réexécutez la macro « ins3 » pas à pas, mais après avoir vu apparaître
« deuxième insertion », repassez dans la fenêtre Visual Basic et arrêtez
l'exécution en cliquant sur le bouton en forme de carré bleu.
Vous allez maintenant travailler sur l'ergonomie d'une macro. Il s'agit
d'associer une touche de clavier ou une barre d'outils 17. Sous Word, vous pouvez, lors du début de l'enregistrement d'une macro,
l'associer à une barre d'outils. Enregistrer une nouvelle macro, et placez
là dans la barre d'outils macros. Lorsque vous arrêterez
l'enregistrement, Vérifiez sa présence dans la barre d'outils macros
(menu affichage) et exécutez la.
18. Sous word, choisissez le menu Outils/personnaliser, puis cliquer sur le
bouton correspondant au clavier. Choisissez, parmi les catégories de
commandes, les macros, et sélectionnez l'une des macros que vous avez
définie ci-dessus. Associez lui une touche (par exemple ctrl U). Vérifiez
ensuite, en formant cette combinaison de touches, que votre macro
s'exécute chaque vois. 2 Exercice 2: Enregistrement de macros avec Excel 1. Ouvrez un nouveau document Excel.
2. Enregistrez une macro appelée bonjour qui écrit dans la cellule courante
le texte « bonjour » en bleu avec une fonte de 16 points.
3. Mettez vous sur une autre cellule et exécutez pas à pas la macro
« bonjour ».
4. Avec un copier/coller, dans l'environnement VBA dupliquez la macro
bonjour et modifiez la copie, de sorte que juste après la macro bonjour,
il y ait une macro aurevoir qui écrit dans la cellule courante le texte
« au revoir » en rouge avec une fonte de 10 points 3 Exercice 3: Découverte de la notion de variable et d'entrée-sortie Le programmeur peut manipuler des éléments mémoire (voir le cours) dans
lequel il pourra ranger des valeurs. Ces éléments s'appellent des
variables. Le programmeur leur donne un nom et un type, puis il les utilise
dans des instructions d'affichage ou de calcul. L'interaction avec
l'utilisateur du document bureautique (par exemple de la feuille Excel) se
fait au moyen de fonctions ou macros d'entrée sortie: InputBox et MsgBox.
Dans cet exercice, vous allez découvrir le fonctionnement de ces élments au
travers d'un exemple. 1. Assurez-vous que le document Excel de l'exercice 2 est ouvert, et placez-
vous dans l'éditeur VBA comme précédemment.
2. Définissez un nouveau module (Menu insertion de l'environnement VBA) à
insérer au même endroit que l'autre module du document) dans lequel vous
inscrirez la macro suivante :
Sub essai()
Dim x As Integer
x = InputBox("Entrez un entier")
MsgBox (x + 2)
End Sub
3. Exécutez la macro à l'aide du menu Outils macros- macros d'Excel et
observez ce qu'elle fait.
4. Dans la fenêtre Visual Basic, sélectionnez la première ligne de la
macro : sub essai()
5. Assurez vous que la barre d'outils standard est visible (menu
affichage/barres d'outils/standard)
6. Cliquez sur le bouton « exécuter sub » en forme de triangle bleu avec la
pointe vers la droite.
7. Sélectionnez la première ligne de la macro : sub essai()
8. Exécutez la macro pas à pas avec la touche F8.
9. La ligne en jaune est la prochaine ligne de la macro qui sera exécutée.
Vous pouvez
. Exécuter cette ligne en tapant F8
. Exécuter tout le reste de la macro en cliquant sur le triangle bleu
. Arrêter définitivement l'exécution de la macro en cliquant sur le carré
bleu (réinitialiser)
10. Ajoutez une ligne dans la macro essai pour qu'elle affiche aussi le
double du nombre lu (x+x ou x*2)
11. Ajoutez une autre ligne dans la macro essai pour qu'elle affiche en
plus le carré du nombre lu (x*x ou x*2)