<< Retour au sommaire

 

VBA, Créer vos premières macros

 

 

Table des matières

  1. Introduction ;
  2. Une première macro dans WORD ;
  3. Une deuxième macro dans WORD ;
  4. Une première macro dans EXCEL ;
  5. La description ;
  6. Créer une macro vide en vue d’une saisie de code au clavier ;
  7. Les références absolues et relatives dans EXCEL.

 

Introduction

 

La macro permet d’automatiser des tâches et par conséquent, de réaliser un gain de temps dans un grand nombre de situations.

Associée aux applications WORD et EXCEL, elles permettent d’exécuter du code VBA. Quand à son exécution, elle peut être appelée depuis un raccourci clavier qui lui est associé, mais aussi par le biais d’une fenêtre dédiée à la gestion des macros.

 

Mais au préalable, vous devez réaliser une petite configuration !

Dans le cas d’un Office Professionnelle, vérifiez dans le ruban si l’onglet « Développeur » est présent.

Si ce n’est pas le cas, vous devez impérativement l’activer !

Pour ce faire, validez la commande du ruban :

ALT, Bouton Office, « Options de WORD ».

Dans la boîte de dialogue qui apparaît à l’écran, vous êtes sur la catégorie intitulée « Standard »,

Faites tabulation jusqu’à atteindre la case à cocher intitulée :

« Afficher l’onglet Développeur dans le ruban », que vous cochez en pressant la barre d’espacement.

Pour finir, faites tabulation jusqu’au bouton « Ok » et pressez la touche « Entrée ».

 

Dans le cas d’un Office Standard, il se peut que vous ne puissiez pas afficher cet onglet !

 Dans ce cas, vérifiez que les fonctionnalités de « macros » sont disponibles depuis le ruban :

ALT, Onglet « Affichage », sous menu « Macros ».

 


Une première macro dans WORD

 

Une macro permet donc de mémoriser un enchaînement d’actions réalisées dans Word, et ce, afin de pouvoir automatiser une tâche.

En clair, vous enregistrez des actions dans une macro à laquelle vous lui assignez un raccourci clavier.

Désormais, à chaque fois que vous effectuerez le nouveau raccourci clavier, les actions que vous avez enregistrées dans la macro seront exécutées par Word.

Vous pouvez ainsi sauvegarder un grand nombre de manipulations de traitement de texte.

Dans nos exemples, nous allons commencer par une mini macro qui aura comme tâche d’écrire un «E» majuscule accent aigu, puis, une seconde macro plus élaborée qui permettra d’appliquer un style sur du texte.

 

Pour commencer, ouvrez le logiciel de traitement de texte Word.

Ensuite, ouvrez la boîte de dialogue de création d’une nouvelle macro. :

Validez la commande du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Enregistrer une nouvelle macro ».

Vous venez d’atterrir dans une zone d’édition dans laquelle vous allez saisir le nom de la macro.

Soyez prudent dans la taille de la chaîne de caractères que vous allez saisir. Essayez d’utiliser un nom de macro relativement court.

Ici, dans notre exemple, nous allons écrire « E_MAJ ».

Ensuite, faites «TABULATION» jusqu’au bouton «Clavier» et pressez la touche «Entrée».

Une seconde boîte de dialogue s’ouvre à l’écran…

Word attend que vous effectuiez le raccourci clavier qui sera assigné à la macro en cours de création.

Effectuez le raccourci clavier «CTRL +E accent aigu».

Ensuite, faites «TABULATION» jusqu’au bouton intitulé «Attribuer» et pressez la touche «Entrée».

Il reste maintenant à atteindre le bouton «Fermer» avec «TABULATION», dès que vous êtes positionnés sur ce bouton, pressez la touche «Entrée».

 

Attention, toutes vos manipulations seront désormais enregistrées dans la mémoire de la macro.

 

Très important !

Pour suspendre ? Validez la commande du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Suspendre l’enregistrement ».

Pour reprendre ? Validez la commande du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Reprendre l’enregistrement ».

 

Maintenant, c’est le moment d’effectuer le travail que l’on désire automatiser !

Souvenez-vous que l’on peut saisir un caractère à partir de son code.

Le code du «É» est 144.

Alors, il faut saisir le code 144 sur le pavé numérique en laissant la touche «ALT» verrouillée.

 


Note :

 

Bloquez la touche ALT, saisissez 144 et relâchez ALT.

Une fois le code saisi, ne touchez plus à rien.

Pour arrêter l’enregistrement, validez la commande suivante du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « arrêter l’enregistrement ».

 

Désormais, à chaque fois que vous effectuerez le raccourci clavier «CTRL +E accent aigu», vous verrez apparaître un «e» accent aigu majuscule dans votre document Word.

 

Vous pouvez bien sûr enregistrer des manipulations différentes et bien plus élaborées que celle que nous venons de créer, par exemple, la saisie de l’entête d’une lettre.

 

Pour atteindre le code VISUAL BASIC de la macro, activez l’éditeur VISUAL BASIC à partir du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Macros ».

 

Vous arrivez dans la liste des macros, choisissez la macro que nous venons de créer, puis faites tabulation jusqu’au bouton « Modifier » et pressez la touche « entrée ».

Vous arrivez dans le code de la macro, descendez avec flèche basse.

Toutes les lignes qui commencent par une apostrophe sont des lignes de commentaires qui sont ignorées, elles ne sont donc pas exécutées, vous pouvez donc vous-même créer des lignes de commentaires…

Ensuite, vient le code VBA, puis l’instruction End sub qui signifie que le code de la macro s’arrête là.

Le code VBA qui correspond donc à la saisie d’un « E » accent aigu majuscule, est :

Selection.TypeText Text:="É"

Alors, pour déclencher par exemple l’écriture de votre nom :

Selection.TypeText Text:="Philippe BOULANGER"

Attention à bien placer la chaîne de caractères à écrire dans les guillemets.

On verra, ultérieurement, que les valeurs traitées par le VISUAL BASIC peuvent être représentées de multiples manières, c’est pourquoi les guillemets sont ici nécessaires. Elles désignent un texte qui doit être traité comme tel…

 

Pour exécuter une macro VISUAL BASIC, vous n’êtes pas obligés d’utiliser un raccourci clavier.

Vous pouvez procéder comme suit :

Validez la commande du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Macros ».

Vous arrivez dans la liste des macros, choisissez la macro à exécuter, puis faites tabulation jusqu’au bouton « exécuter» et pressez la touche « entrée ».

 

Pour supprimer une macro :

A partir du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Macros ».

Dans la boîte de dialogue qui s’ouvre à l’écran, vous êtes d'ores et déjà positionnés dans la liste des macros. Appuyez sur «flèche basse» jusqu’à entendre le nom de la macro que vous souhaitez supprimer.

Dès que vous avez entendu le nom de la macro, faites «TABULATION» jusqu’au bouton intitulé «Supprimer» et pressez la touche «Entrée».

Word vous demande alors une confirmation de suppression de la macro sélectionnée, pressez la touche «Entrée».

Ensuite, faites «TABULATION» jusqu’au bouton intitulé «Annuler» et pressez la touche «Entrée».

 

Une deuxième macro dans WORD

 

Ici, nous allons créer une macro qui appliquera un style au texte sélectionné.

 

Au préalable, nous devons préparer le document de façon à ce que les manipulations en dehors du champ de la macro ne soient pas mémorisées lors de l’enregistrement !

 Alors, saisissez un petit texte et procédez à la sélection d’un ou plusieurs mots…

 

Ensuite, comme dans la leçon précédente, nous allons déclencher l’enregistrement de la macro.

Validez la commande du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Enregistrer une nouvelle macro ».

Vous venez d’atterrir dans une zone d’édition dans laquelle vous allez saisir le nom de la macro.

Ici, dans notre exemple, nous allons écrire « Style ».

Ensuite, faites «TABULATION» jusqu’au bouton «Clavier» et pressez la touche «Entrée».

Une seconde boîte de dialogue s’ouvre à l’écran…

Word attend que vous effectuiez le raccourci clavier qui sera assigné à la macro en cours de création.

Effectuez le raccourci clavier CTRL +M.

Ensuite, faites «TABULATION» jusqu’au bouton intitulé «Attribuer» et pressez la touche «Entrée».

Il reste maintenant à atteindre le bouton «Fermer» avec «TABULATION», dès que vous êtes positionnés sur ce bouton, pressez la touche «Entrée».

 

Attention, toutes vos manipulations seront désormais enregistrées dans la mémoire de la macro.

 

Alors, c’est le moment d’effectuer le travail que l’on désire automatiser !

Activez la boîte de dialogue de la police de caractères, soit par le biais de la touche « Applications », soit par le raccourci clavier CTRL +D.

Dans cette fenêtre, faites des choix, sélectionnez des propriétés de caractères qui vous conviennent !

Ensuite, faites tabulation jusqu’au bouton « Ok » et pressez la touche « Entrée ».

Aussitôt, vous devez arrêter l’enregistrement…

Alors, validez la commande suivante du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « arrêter l’enregistrement ».

 

Désormais, à chaque fois que vous effectuerez le raccourci clavier CTRL +M sur un texte sélectionné, celui-ci recevra les propriétés de la police de caractères que vous avez précédemment enregistrées dans la macro « Style ».

dans votre document Word.

 


Une première macro dans EXCEL

 

La première macro va s’intitulée AtteindreA1. Son rôle ? Pas grand-chose ! En effet, elle va juste permettre d’atteindre la cellule A1 et nous allons lui assigner le raccourci clavier CTRL +Y.

 

Lancez EXCEL.

Activez la boîte de Dialogue de création de nouvelle macro depuis le ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Enregistrer une nouvelle macro ».

Dans la première zone d’édition, saisissez le nom de la macro, AtteindreA1.

Faites tabulation, vous êtes dans une nouvelle zone d’édition, elle s’intitule « Touche de raccourci ». Pour que le raccourci soit CTRL +Y, écrivez uniquement le « Y », par défaut, le raccourci sera CTRL +Y.

Faites tabulation, vous arrivez dans une zone de liste déroulante intitulée : « Enregistrer la macro dans ».

Avec les flèches verticales, choisissez : « Dans ce classeur ». Ainsi, le raccourci clavier ne sera pas utilisé dans les autres classeurs…

Faites tabulation jusqu’au bouton « Ok » et pressez la touche « entrée ».

L’enregistrement débute…

Ouvrez la fenêtre atteindre en pressant la touche de fonction F5.

Saisissez les références de la cellule à atteindre, donc A1, puis pressez la touche « entrée ».

Maintenant nous devons arrêter l’enregistrement en validant la commande du ruban suivante :

ALT, Onglet « Développeur », « Code » sous menu, « arrêter l’enregistrement ».

 

Voilà, désormais dans ce classeur, le raccourci clavier CTRL +Y sélectionnera la cellule A1.

 

Mais comme nous sommes curieux, allons voir le code de cette macro.

Validez la commande du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Macros ».

Dans la boîte de dialogue « Macro », à partir de la liste de vos macros, il est difficile de sélectionner le nom d’une macro…

C’est pourquoi vous allez parfois devoir joindre JAWS à PC, descendre sur le nom de la macro à sélectionner, réaliser un clic gauche sur son nom, et vous remettre en curseur PC.

Maintenant, faites tabulation jusqu’au bouton « Modifier » et pressez la touche « entrée ».

 

L'instruction VBA qui permet d’atteindre la cellule A1 est :

Application.Goto Reference:="R1C1"

Les références de la cellule à atteindre sont ici entre guillemets, vous devez d’abord spécifier le numéro de la ligne précédé d’un « R », qui signifie « rang », puis, le numéro de la colonne précédé d’un « C », qui signifie « Column ».

 


La description

 

Durant la création d’une nouvelle macro depuis la boîte de dialogue :

ALT, Onglet « Développeur », « Code » sous menu, « Macros ».

 disposez d’une zone d’édition intitulée « Description ».

Cette zone de texte permet d’expliquer clairement le rôle de la macro.

Vous pouvez donc saisir librement le texte de votre choix…

Cette description peut être extrêmement pratique, elle donne des informations sur le rôle que joue la macro, et ce, auprès de personnes qui ne connaissent pas le VISUAL BASIC. 

Mais cette description peut également vous rendre service, si vous créez régulièrement des macros, avec le temps, vous risquez d’oubliez le rôle que jouent certaines macro…

 

 


Créer une macro vide en vue d’une saisie de code au clavier

 

Lorsque vous désirerez créer une macro dans laquelle vous allez saisir l’intégralité du code VBA vous-mêmes, vous devez au préalable créer une macro vide.

 

Pour ce faire, débutez l’enregistrement d’une nouvelle macro en validant la commande du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Enregistrer une nouvelle macro ».

 

Dans la boîte de dialogue, saisissez le nom de la macro, la description, choisissez l’endroit où doit être enregistrée la macro, puis sélectionnez le raccourci clavier à assigner à la macro, lancez l’enregistrement…

 

Vous arrivez dans votre document ou votre classeur, arrêtez l’enregistrement immédiatement à partir de la commande du ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Arrêter l’enregistrement ».

 

Voilà, vous pouvez maintenant aller dans l’éditeur VISUAL BASIC depuis le ruban :

ALT, Onglet « Développeur », « Code » sous menu, « Macros ».

Dans la boîte de dialogue, vous sélectionnez le nom de la macro que vous venez de créer puis vous validez le bouton « Modifier ».

Voilà, vous êtes dans le code de la macro…

 


Les références absolues et relatifs dans EXCEL

 

Vos déplacements dans la feuille de calculs sont notés sous la forme de « Références absolues », c’est-à-dire que seules les cellules atteintes sont indiquées, pas le déplacement.

 

A titre d’exemple, si vous êtes dans la cellule A1, que vous déclenchez l’enregistrement de la macro avant de presser 2 flèches basse pour atteindre A3 et y saisir « Bonjour », le code VBA qui sera généré se contentera d’atteindre la cellule A3 avant de procéder à la saisie, et ce, quel que soit le point de départ.

Les instructions seront donc :

  1. Atteindre A3 ;
  2. Saisir « Bonjour ».

En VBA, ça donne :

  1. Range("A3").Select
  2. Selection.FormulaR1C1 = "bonjour"

 

Du coup, si vous exécutez la macro tandis que vous êtes placés par exemple dans la cellule A17, la saisie de « Bonjour » aura lieu dans A19, c’est(-à-dire 2 lignes plus basse que la cellule courante.

Les Instructions deviennent donc :

1.  Descendre de 2 lignes ;

2.  Saisir « Bonjour ».

En VBA, ça donne :

1.  ActiveCell.Offset(2, 0).Range("A1").Select

2.  Selection.FormulaR1C1 = "bonjour"

 

Comment faire ?

Durant l’enregistrement de la macro, vous pouvez basculer entre notations « Absolues » et « Relatives » grâce à la commande du ruban suivantes que vous devez valider :

ALT, Onglet « Développeur », « Code » sous menu, « Utiliser les références relatives ».

 

 Philippe BOULANGER