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.

Image non disponible
L'onglet Développeur
Image non disponible
Dans la barre d'état

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.

Image non disponible

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.

Image non disponible

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.

Image non disponible
Image non disponible

Supprimez la ligne que vous venez d'écrire dans votre document et cliquez sur le bouton Macro.

Image non disponible
Le bouton Macro

Vous ouvrez alors une boîte de dialogue contenant le nom de votre Macro.

Image non disponible
La liste des macros disponibles

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.

Image non disponible

Et finalement, via l'onglet Affichage et le déroulant relatif aux Macros.

Image non disponible

Si l'onglet développeur n'est pas visible, pour l'afficher, Bouton Office => Standard => Afficher le bouton développeur dans le ruban.

Image non disponible

Si vous travaillez aec Excel 2003, vous trouverez l'enregistreur de macro dans Outils => Macro.

Image non disponible

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.

Image non disponible

Supprimez le texte que vous venez d'écrire dans la cellule. Lancez la macro que vous venez de faire :

Image non disponible

Choisissez votre macro :

Image non disponible

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.

Image non disponible
Le bouton du Ruban

Lorsque vous ouvrez le VBE, vous obtenez ceci :

Image non disponible

Pour l'instant, nous allons nous attarder sur deux parties de notre VBE.

Image non disponible

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.

 
Sélectionnez

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.

 
Sélectionnez

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.

 
Sélectionnez


'
' 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.

 
Sélectionnez


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.

Image non disponible
 
Sélectionnez

Sub MaPremiereMacro()
'
' MaPremiereMacro Macro
'

'
    ActiveCell.FormulaR1C1 = "Ma première macro"
    Range("A2").Select
    
End Sub

Dans notre code, nous avons cinq lignes.

 
Sélectionnez

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.

 
Sélectionnez


'
' 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.

 
Sélectionnez


    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