Votre toute
première macro, avec Word 2000 
Vous avez souvent endendu
parler de macros, mais vous ne savez pas du tout comment en construire une.
Voici la marche à suivre pour votre toute première macro.
Une macro, en quelque sorte va vous permettre d'automatiser des actions
répétitives. Ca va de la simple petite macro qui sélectionne tout le texte et
le met en gras automatiquement, jusqu'à la macro très complexe qui permet de
choisir un client dans une base de données Access, de l'importer dans Word,
dans des zones prédéfinies de formulaires complexes.
Quel que soit votre niveau, vous pouvez construire et utiliser des macros.
Mais il y a des limites : Si vous êtes vraiment débutant en Word, les subtilités
des macros vous échapperont certainement - Et même si vous êtes un utilisateur
confirmé, voire HelpDesk, il est possible que certaines macros soient tellement
complexes à mettre en oeuvre que vous aurez besoin de l'aide d'un programmeur
professionnel.
En effet, il y a une marge ENORME entre une petite macro de quelques lignes
qui fait de menus détails, tels que justement la mise d'un texte en gras, avec
la programmation de modules complexes, composés de multiples procédures et fonctions
complexes, faisant appel à des notions pointues de programmation.
Mettons donc grâce à ce chapitre le premier orteil dans l'océan Visual Basic
pour Application !
Pour suivre pas à pas ce mode
d'emploi, je vous conseille fortement d'imprimer cette page pour l'avoir à côté
de votre PC pendant que vous essayez de réaliser cette macro.
Premier
: Créer une macro en l'enregistrant
Pour cet exemple, je vous propose d'écrire une petite macro toute minable qui
se contente d'écrire automatiquement CA MARCHE dans votre document.

- Allez dans un nouveau document
- Faites Outils/Macros/Nouvelle Macro
- Ecrivez dans la zone "Nom de la macro" : MaPremiereMacro
- Choisissez "Tous les documents (Normal.dot)" dans la zone "Enregistrer
la macro dans"
Ne
mettez PAS d'ESPACE entre les mots, sinon, CA NE MARCHE PAS
- Cliquez sur OK
Maintenant, vous êtes en train d'enregistrer votre macro. C'est à dire que
vous êtes comme dans un studio d'enregistrement. Dans un studio d'enregistrement,
il ne faut PAS LE MOINDRE BRUIT, et bien, lors de l'enregistrement d'une macro,
IL NE FAUT PAS FAIRE LA MOINDRE CHOSE que vous ne voulez pas enregistrer
- Ecrivez Ca marche !
- Faites Outils/Macros/Arrêter l'enregistrement.
OUF ! Vous pouvez respirer. L'enregistrement de la macro est terminé.
Il ne reste plus qu'a voir si cette macro fonctionne !
- Effacez votre texte, ou demandez un nouveau document
- Faites Outils/Macros/Macros
- Cliquez sur MaPremiereMacro
- Cliquez sur "Exécuter"
ET VOILA... SI tout s'est bien passé, vous devriez voir apparaître à l'écran
Ca marche ! Ce n'est pas plus compliqué que
ça. Bravo !
Quand
on débute en macros, on OUBLIE TOUT LE TEMPS cette dernière opération... Et
quand on l'oublie, et bien on continue d'enregistrer encore et encore... et...
Rien ne marche et dans le pire des cas, on finit par faire planter complètement
Word, voire le PC complet...
Deuxième
:
Créer une macro en l'écrivant
Cette fois, nous allons entrer de plain pied dans l'environnement de programmation
VBA. Nous allons afficher une petite boîte de dialogue comme ceci :

L'instruction pour créer une boîte de dialogue comme celle-ci
est MsgBox "Ca Marche".
- Quittez Word, ne sauvegardez rien, et revenez dans Word (Simplement pour
être sûr que nous avons bien les mêmes écrans)
- Faites Outils/Macros/Visual Basic Editor
- Dans la partie de gauche, vous devriez voir ceci :
Si ce n'est pas
le cas, faites Affichage/Explorateur de projets
- Cliquez avec le bouton droit sur Project (Document1), et choisissez Insertion/Module.
Vous avez maintenant sur toute la partie de droite un éditeur de
texte (une page blanche dans lquelle vous pouvez écrire). Word à
également créé dans la partie de gauche Modules et Module1
- Ecrivez dans cette partie de droite:
Sub AfficheMessage
- Appuyez sur ENTER. Normalement, Word a complété votre texte
comme ceci :
Sub AfficheMessage()
End Sub
- Complétez le code en écrivant vous même MsgBox
"Ca Marche", comme ceci :
Sub AfficheMessage()
MsgBox "Ca Marche"
End Sub
- La macro est maintenant écrite. Cliquez quelque part entre Sub AfficheMessage
et End Sub, et appuyez sur la touche F5. Le message devrait apparaître,
comme ceci :

Et voilà... vous avez écrit vous même votre première
macro, et exécuté ! Félicitations ! Vous avez donc appris
plusieurs choses :

- MsgBox
permet d'afficher des messages
- Le texte affiché avec MsgBox est écrit entre guillemets
- Les macros commencent par Sub QuelqueChose() et se terminent par End Sub
- On peut exécuter les macros directement depuis l'environnement VBA
avec la touche F5
Mais on peut bien sûr exécuter cette macro depuis Word... Marche
à suivre :
- Quittez l'environnement Visual Basic (Fichier/Fermer et retourner à
Microsoft Word)
- Outils/Macros/Macros, et cliquez 2 fois sur AfficheMessage (Ou cliquez une
seule fois dessus, et Exécuter)
Et voilà... Ce n'est pas plus compliqué que cela !
Troisième
: Modifier à la main une macro enregistrée
Nous allons faire une macro toute simple avec l'enregistreur de macros, et
ensuite la corriger à la main. Par exemple, notre macro va écrire
à l'intérieur de Word :
Un
Deux

- Quittez Word, ne sauvegardez rien, et revenez dans Word (Simplement pour
être sûr que nous avons bien les mêmes écrans)
- Faites Outils/Macros/Nouvelle Macro
- Nom de la macro : MacroTest
- Enregistrer la macro dans : Document1
- Cliquez sur OK
: Vous êtes en train d'enregistrer !
- Ecrivez simplement :
Un
Deux
- Outils/Macros/Arrêter l'enregistrement
- Faites Outils/Macros/Visual basic Editor
- Dans la partie de gauche, vers le haut (dans l'explorateur de projets),
cliquez sur le petit + à côté de Modules
- Ca fait apparaître NewMacros. Cliquez 2 fois dessus : Ca fait apparaître
votre macro enregistrée, comme ceci :
Sub MacroTest()
'
' MacroTest Macro
' Macro enregistrée le 05.01.2001 par Michel
'
Selection.TypeText Text:="Un"
Selection.TypeParagraph
Selection.TypeText Text:="Deux"
End Sub
- Remplacez
Selection.TypeText Text:="Un"
par
Selection.TypeText Text:="Le
radeau de la méduse"
- Faites Fichier/Fermer et retourner à Microsoft Word
- Descendez un peu plus bas que votre Deux (en appuyant sur Enter 2 ou 3 fois)
- Faites Outils/Macros/Macros, et exécutez MacroTest
Et voilà ! Si tout s'est bien passsé, votre écran devrait
ressembler à ceci :
Un
Deux
Le radeau de la méduse
Deux
Vous avez réussi à corriger à la main une macro préenregistrée
! Vous avez appris de nouvelles choses :

- C'est une manière très sympathique d'apprendre petit à
petit la syntaxe de visual basic
- Selection.TypeText Text:="Truc machin" permet d'écrire
du texte dans Word
- Selection.TypeParagraph fait comme si on appuyait sur ENTER
- Il y a certaines lignes en vert, qui commencent par une apostrophe (').
Ce sont des lignes de commentaires. C'est à dire que ces lignes sont
totalement ignorées par Visual Basic, et vou permettent de commenter
votre code.