Excel 2013 & VBA - Macros et programmation

6
1 Une macro Que représente une macro ? Une macro est une suite d’instructions écrites l’une après l’autre. Lors de son exécution, Excel interprète les lignes de code de votre macro dans l’ordre où vous les avez saisies ou enregistrées. Celle-ci vous permet donc d’automatiser une série de tâches à effectuer dans Excel bien plus rapidement que vous ne le feriez manuellement. Ce code est écrit dans un langage de programmation nommé Visual Basic pour Application (VBA). Il s’agit d’un langage objet – il manipule des objets – et événementiel – il répond à différents événements. Pour s’initier à ce langage, vous pouvez utiliser l’enregistreur de macros. Celui-ci traduit en ligne de code chaque action réalisée pendant l’enregistrement. Mais attention ! Comme vous le verrez dans le chapitre suivant, le code écrit par Excel est loin d’être optimal et vous ne pourrez pas tout faire avec cet enregistreur. Enregistrer une macro Depuis la version 2007, vous pouvez démarrer l’enregistrement d’une macro en cliquant sur : Macros > Enregistrer une macro… situé à droite de l’onglet Affichage (voir Figure 1.1) ; Enregistrer une macro sur l’onglet Développeur (voir Figure 1.2) ; le bouton de macros situé à gauche de la barre d’état (voir Figure 1.3). © 2014 Pearson France – Excel 2013 & VBA – Cathy Monier

Transcript of Excel 2013 & VBA - Macros et programmation

Page 1: Excel 2013 & VBA - Macros et programmation

1Une macro

Que représente une macro ?Une macro est une suite d’instructions écrites l’une après l’autre. Lors de son exécution, Excel interprète les lignes de code de votre macro dans l’ordre où vous les avez saisies ou enregistrées. Celle-ci vous permet donc d’automatiser une série de tâches à effectuer dans Excel bien plus rapidement que vous ne le feriez manuellement.

Ce code est écrit dans un langage de programmation nommé Visual Basic pour Application (VBA). Il s’agit d’un langage objet – il manipule des objets – et événementiel – il répond à différents événements.

Pour s’initier à ce langage, vous pouvez utiliser l’enregistreur de macros. Celui-ci traduit en ligne de code chaque action réalisée pendant l’enregistrement. Mais attention ! Comme vous le verrez dans le chapitre suivant, le code écrit par Excel est loin d’être optimal et vous ne pourrez pas tout faire avec cet enregistreur.

Enregistrer une macroDepuis la version 2007, vous pouvez démarrer l’enregistrement d’une macro en cliquant sur :

■Macros > Enregistrer une macro… situé à droite de l’onglet Affichage (voir Figure 1.1) ;

■Enregistrer une macro sur l’onglet Développeur (voir Figure 1.2) ;

■ le bouton de macros situé à gauche de la barre d’état (voir Figure 1.3).

© 2014 Pearson France – Excel 2013 & VBA – Cathy Monier

Page 2: Excel 2013 & VBA - Macros et programmation

2 Chapitre 1

Figure 1.1

Figure 1.2

Figure 1.3

Dans les versions précédentes d’Excel, vous trouverez la commande d’enregistrement de macro dans le menu Outils > Macros > Nouvelle macro.

Dans la fenêtre qui suit (voir Figure 1.4), vous devez saisir :

■ Le nom de votre macro. Vous pouvez utiliser pour ce nom : des lettre de a à z (minuscules et majuscules), les chiffres de 0 à 9 (mais à partir du 2e caractère), le soulignement (celui du 8) et surtout jamais d’espace ni de caractères spéciaux.

■ Une éventuelle touche de raccourci. Vous pourrez alors utiliser cette touche combinée avec Ctrl pour exécuter votre macro. Attention tout de même à ne pas réutiliser un raccourci clavier d’Excel, tel que Ctrl + c ou Ctrl + v.

■ Le classeur dans lequel la macro va s’enregistrer. Par défaut, celle-ci s’enregistre dans le classeur actif, mais vous pouvez préférer le classeur de macros personnelles.

■ Une description. Il est fortement recommandé d’indiquer ici une courte description de ce que fait votre macro pour relecture et utilisation ultérieure.

Figure 1.4Fenêtre d’enregistrement de la macro.

Dès que vous aurez cliqué sur le bouton OK, toutes les actions que vous effectuerez dans Excel seront enregistrées.

© 2014 Pearson France – Excel 2013 & VBA – Cathy Monier

Page 3: Excel 2013 & VBA - Macros et programmation

Une macro 3

Info

Le classeur de macros personnelles est un classeur qui s’ouvre automatiquement à chaque lancement d’Excel. Ainsi, les macros de ce classeur peuvent être utilisées dans tous les classeurs ouverts. Il se nomme PERSO.xls jusqu’à la version 2003 et PERSONNAL.xlsb depuis la version 2007.

Pour arrêter l’enregistrement, il suffit de cliquer sur la commande Arrêter l’enregistrement située sur l’onglet Affichage ou l’onglet Développeur, à gauche de la barre d’état (voir Figure 1.4). Dans les versions d’Excel 2003 et antérieures, vous trouverez la commande soit dans le menu Outils > Macros, soit sur le bouton éponyme de la barre d’outils Arrêter l’enregistrement.

Figure 1.5Cliquez sur ce bouton afin d’arrêter l’enregistrement de votre macro.

Astuce

Pour afficher l’onglet Développeur sous les versions Excel 2010 et 2013, cliquez du bouton droit sur le ruban et choisissez Personnaliser le ruban. Cochez l’onglet dans le volet de droite.

Sous la version 2007, cliquez sur le bouton Office et sélectionnez Options Excel. Cochez la deuxième option de l’écran : Afficher l’onglet Développeur.

Exécuter une macroLa fenêtre de gestion des macrosPour exécuter votre macro depuis Excel, vous pouvez utiliser la commande :

■ Macros > Afficher les macros située à droite de l’onglet Affichage (voir Figure 1.6) ; ■ Macros sur l’onglet Développeur (voir Figure 1.7).

Figure 1.6 Figure 1.7

© 2014 Pearson France – Excel 2013 & VBA – Cathy Monier

Page 4: Excel 2013 & VBA - Macros et programmation

4 Chapitre 1

Dans la fenêtre qui s’affiche, sélectionnez votre macro parmi la liste des macros de votre classeur ou de l’ensemble des classeurs ouverts. Puis cliquez sur le bouton Exécuter (voir Figure 1.8).

Figure 1.8Cette fenêtre affiche la liste des macros de votre classeur ou de tous les classeurs ouverts.

Cette fenêtre permet également de gérer les macros de votre classeur ou de tous les classeurs ouverts :

■ Modifier. Permet d’atteindre le code de votre macro. ■ Supprimer. Permet de supprimer la macro sélectionnée. ■ Options… Affiche une fenêtre proposant d’affecter ou de modifier la touche de raccourci et la description (voir Figure 1.9).

Figure 1.9Vous pouvez affecter une touche de raccourci et une description à votre macro dans cette fenêtre.

Cette méthode est utile pour les tests de vos macros, mais ce n’est pas très pratique pour lancer l’exécution de celle-ci au jour le jour. Nous privilégierons l’utilisation d’un bouton ou d’un contrôle.

© 2014 Pearson France – Excel 2013 & VBA – Cathy Monier

Page 5: Excel 2013 & VBA - Macros et programmation

Une macro 5

Lancer une macro avec un bouton sur le ruban ou la barre d’accès rapideSi votre macro se situe dans le classeur de macros personnelles, il est préférable de la lancer depuis le ruban ou la barre d’accès rapide depuis la version 2007. Vous devez donc y ajouter une commande :

■ Cliquez du bouton droit sur le ruban et choisissez Personnaliser la barre d’outils Accès rapide ou Personnaliser le ruban (Figure 1.10).

■ Dans la fenêtre qui suit (voir Figure 1.11), sélectionnez Macros dans la liste déroulante des catégories (A).

■ Sélectionnez la macro que vous voulez ajouter au ruban ou à la barre d’accès rapide dans la liste de gauche (B).

■ Sélectionnez son emplacement de destination dans la liste de droite (C). Si vous faites le choix du ruban, vous devez choisir un groupe ou créer au préalable votre propre groupe et/ou onglet. Vous ne pouvez ajouter une macro sur le ruban que depuis la version 2010.

Figure 1.10

A

BC

Figure 1.11Pour ajouter une macro, choisissez la catégorie Macros dans la liste A, puis une macro dans la liste B. Sélectionnez sa destination dans la liste C et cliquez sur le bouton Ajouter.

Vous pouvez modifier l’intitulé et l’aspect du bouton de votre macro en cliquant sur le bouton Modifier… (voir Figure 1.12).

© 2014 Pearson France – Excel 2013 & VBA – Cathy Monier

Page 6: Excel 2013 & VBA - Macros et programmation

6 Chapitre 1

Figure 1.12Avec le bouton Modifier…, vous pouvez choisir une icône pour votre macro et lui donner un nom plus explicite.

Lancer une macro avec un bouton ou une image sur une feuillePour une macro enregistrée dans le classeur actif, préférez l’utilisation d’un objet incorporé dans le classeur :

■ Insérez une forme ou une image depuis l’onglet Insertion, groupe Illustrations. ■ Modifiez la mise en forme de cette forme ou de l’image. Dans le cas d’une forme, ajoutez-y du texte.

■ Cliquez du bouton droit sur cet objet et sélectionnez la commande Affecter une macro. ■ Sélectionnez votre macro dans la liste qui s’affiche et validez avec le bouton OK.

Figure 1.13En affectant une macro à une forme ou une image, vous pouvez lancer la macro d’un simple clic.

© 2014 Pearson France – Excel 2013 & VBA – Cathy Monier