1. Introduction▲
Cet article s'adresse aux débutants en VBA. Si vous avez déjà utilisé le VBA, vous allez vous ennuyer en lisant ces lignes. Par contre, si vous voulez découvrir un autre moyen d'utiliser les logiciel de la suite Office, j'espère que vous apprendrez quelque chose.
Pour faire du VBA, vous avez deux options, la première est l'écriture du code dans son intégralité et la seconde l'utilisation de l'enregistreur de Macro fourni avec certains logiciels de la suite Office.
2. L'enregistreur de Macro Word▲
L'"Enregistreur de Macro" est un outil fourni avec Word pour vous permettre d'utiliser le VBA sans pour autant connaître le langage. Nous allons utiliser l'enregistreur pour ensuite visualiser le code qui aura été enregistré.
Pour activer l'enregistreur de macro, nous avons au moins deux possibilités. La première est de passer
par l'onglet développeur et la seconde par la barre d'état de Word.
Il en existe une troisième par l'Onglet Affichage et dans le groupe Macro.
Si l'onglet developpeur n'est pas visible, pour l'afficher : Bouton Office -> Options Word -> Standard -> Afficher l'onglet développeur dans le Ruban.
Le résultat reste le même et ne dépend pas du choix fait.
Si vous travaillez sous Word 2003, vous avez accès aux macros par le menu Outils -> Macro et Enregistreur de Macro. La suite ne change pas.
Nous allons commencer par changer le nom donné par défaut "Macro1" par "MaPremiereMacro". Même si pour VBA ça n'a aucune importance, je vous conseille d'éviter les espaces et les accents dans les noms que vous allez donner à vos macros. Pour les espaces, Word vous enverra sur les roses.
Si vous voulez avoir plus de clarté dans les noms, utilisez des majuscule en début de mot vos nom seront plus lisibles, que ce soit pour une variable, une macro ou tout autre nom. MaPremiereMacro est plus lisible que mapremieremacro.
Cette boîte de dialogue vous propose de mettre la macro dans le normal.dotm, ça ne pose pas de problème, mais pour le début, nous allons utiliser le document vierge que nous recevons lors de l'ouverture de Word. Si un autre document est ouvert, vous aurez un choix supplémentaire.
Dès que vous avez cliqué sur OK, l'enregistreur commence sont travail, toutes les actions que vous allez
effectuer seront enregistrées.
Vous allez écrire un texte dans votre document.
Ma première macro.
Lorsque vous avez terminé, n'oubliez pas d'arrêter l'enregistrement.
Supprimez la ligne que vous venez d'écrire dans votre document et cliquez sur le bouton Macro.
Vous ouvrez alors une boîte de dialogue contenant le nom de votre Macro.
Exécutez la macro.
Le texte que vous venez de supprimer est à nouveau présent sur le document, vous pouvez répéter cette
manipulation autant de fois que vous le souhaitez.
3. L'enregistreur de Macro Excel▲
Comme pour Word, Excel est fourni avec un enregistreur de macro. Pour activer l'enregistreur, vous avez trois possibilités.
Via l'onglet Développeur et le bouton Enregistrer une macro, via la barre d'état et le bouton des macros.
Et finalement, via l'onglet Affichage et le déroulant relatif aux Macros.
Si l'onglet développeur n'est pas visible, pour l'afficher, Bouton Office => Standard => Afficher le bouton développeur dans le ruban.
Si vous travaillez aec Excel 2003, vous trouverez l'enregistreur de macro dans Outils => Macro.
Vous ouvrez une boîte de dialogue vous permettant de renseigner quelques informations.
La première est le nom de la macro, vous allez saisir "MaPremiereMacro" dans ce nom, vous ne pouvez pas avoir d'espace, les accents
sont autorisé, mais par facilité, je vous coinseille vivement de ne pas les utiliser.
Si vous voulez avoir plus de clarté dans les noms, utilisez des majuscule en début de mot vos nom seront plus lisibles, que ce soit pour une variable, une macro ou tout autre nom. MaPremiereMacro est plus lisible que mapremieremacro.
Cette boîte de dialogue vous propose de mettre votre macro dans le classeur actif, dans le Classeur de macros personnelles ou dans un nouveau classeur. Si vous mettez votre macro dans le Classeur de macros personnelles, elle sera disponible pour tous vos classeurs. Nous allons la mettre dans le classeur actif "Ce classeur".
Dès que vous avez cliqué sur Ok, votre macro est en cours d'enregistrement, toutes les actions que vous allez faire seront enregistrées. Pour cette première macro, je vous invite à écrire dans la première cellule (A1) de votre feuille : "Ma première macro". Quittez la cellule et arrêtez l'enregistrement de votre macro.
Supprimez le texte que vous venez d'écrire dans la cellule. Lancez la macro que vous venez de faire :
Choisissez votre macro :
Lancez l'exécution et votre texte va réapparaître dans la cellule. Vous pouvez utiliser cette macro autant de fois que vous le souhaitez.
4. Access, PowerPoint et Outlook▲
Malheureusement, ces trois logiciels ne possèdent pas d'enregistreur de Macro. Ces étapes ne pourrons pas être utilisées.
5. Le VBE▲
5-A. Word▲
Ces trois lettres sont les abréviations Visual Basic Editor. Cette interface graphique vous permet de visualiser, éditer ou insérer du code. Pour y accéder, vous avez le choix, personnellement, j'utilise la combinaison de touches Alt + F11, ou utiliser le bouton du Ruban.
Lorsque vous ouvrez le VBE, vous obtenez ceci :
Pour l'instant, nous allons nous attarder sur deux parties de notre VBE.
La première partie (1) donne une arborescence avec le contenu de votre projet qui se compose de :
Microsoft Word Objets composé de ThisDocument
Module contenant un module NewMacros
Référence intégrant Référence à Normal.
Nous allons double cliquer sur le module NewMacros, c'est dans ce module que se trouve la macro que nous venons d'enregistrer. Lorsque nous double cliquons sur ce module, nous affichons son contenu dans la fenêtre d'édition.
La seconde partie (2) est la zone d'édition qui contient notre code.
Sub
MaPremiereMacro
(
)
'
' MaPremiereMacro Macro
'
'
Selection.TypeText
Text:=
"Ma première macro"
End
Sub
Si nous détaillons ce code, nous avons quatre lignes.
La première et la dernière ligne vont de pair.
Sub
MaPremiereMacro
(
)
....
....
End
Sub
La première constitue le début de notre procédure, elle contient le nom de notre macro.
La dernière est la fin de notre procédure, le code est contenu entre ces deux balises.
'
' MaPremiereMacro Macro
'
'
Cette ligne constitue un commentaire. Les commentaires en VBA commencent toujours par une apostrophe ('). Les lignes qui suivent ce caractère sont ignorées lors de l'exécution du code.
Selection.TypeText
Text:=
"Ma première macro"
Nous terminons par notre ligne de code. Dans cet exemple, elle est très simple. Nous utilisons un Objet et sa méthode et l'argument utilisé pour la méthode.
- Objet : Selection
- Méthode : TypeText
- Argument : Text:="Ma première macro"
Vous pouvez réutiliser ce code un très grand nombre de fois.
Vous venez de faire votre première Macro.
5-B. Excel▲
Cette partie est similaire à ce que nous venons de voir pour Word. Au lieu d'avoir des documents, nous avons des Classeurs contenant des feuilles. La macro que nous venons d'enregistrer se trouve dans le Module1 qui a été créé par Excel pour recevoir votre macro.
Sub
MaPremiereMacro
(
)
'
' MaPremiereMacro Macro
'
'
ActiveCell.FormulaR1C1
=
"Ma première macro"
Range
(
"A2"
).Select
End
Sub
Dans notre code, nous avons cinq lignes.
Sub
MaPremiereMacro
(
)
...
...
End
Sub
La première ligne constitue le début de notre procédure. La dernière, la fin de notre procédure, le code est toujours contenu entre ces deux lignes.
'
' MaPremiereMacro Macro
'
Cette ligne constitue un commentaire, les commentaires en VBA commencent toujours par une ', les lignes qui suivent seront ignorées lors de l'exécution du code.
ActiveCell.FormulaR1C1
=
"Ma première macro"
Range
(
"A2"
).Select
Nous terminons par nos deux lignes de code, la première va insérer le texte "Ma première macro" dans la cellule active et la seconde va activer la cellule A2.
6. Liens▲
Titre de l'article | |
---|---|
01 | Ma première macro |
02 | Partie 2 : Les variables |
7. Remerciements▲
Je tiens à remercier pour leurs contributions à ce projet :
- lorenzole+bo
- Philippe JOCHMANS
- Caro-Line
- Arkham46
- Jeannot45