Vous êtes sur la page 1sur 12

Patrick Collignon

L’atelier
Excel 2000 et 2002
32 exercices commentés
Gérer les macrocommandes
2. Créer une macro

En général, dans Excel, on effectue plusieurs opérations


simples pour obtenir le résultat escompté. Rien
d’ennuyeux à cela, sauf si on doit reproduire plusieurs
fois une procédure longue composée de plusieurs
commandes. Pour ces tâches répétitives, faites appel aux
macrocommandes (ou macros). Il s’agit de modules de commande
enregistrés automatiquement en VBA (Visual Basic pour Applications)
par Excel. Le principe est simple : créez une macro et effectuez une
unique fois l’ensemble des opérations, en prenant soin de ne pas vous
tromper. Excel enregistre vos faits et gestes, les attributs choisis, les
fonctions appelées. Pour appliquer l’ensemble des opérations à une
autre sélection, il suffit d’exécuter la macro. Les macrocommandes
peuvent être modifiées dans un éditeur approprié. Si leur syntaxe
Exercice 2 : Créer une macro

étonne, dans un premier temps, il suffira de vous y familiariser et


d’oser… Car, en définitive, c’est Excel qui code pour vous les opérations
exécutées. Admettons que vous souhaitiez créer une macro qui mette
en forme un tableau et effectue la somme des cellules de chaque
ligne.

ASTUCE
Compatibilité des macros
Les macros sont écrites en Visual Basic pour Applications (VBA). Il s’agit d’une forme
simplifiée de Visual Basic. Toutefois, VBA est un format « propriétaire » : les macros créées
dans Excel ne sont pas utilisables par Word ou une autre application. Elles ne fonctionneront
que dans leur application d’origine.

Pour vous assister dans la découverte de l’éditeur, nous ferons tout d’abord connaissance
avec le code et, surtout, la relation entre ce dernier et ce qui se déroule dans Excel au moyen
de la commande Pas à pas. Ensuite, nous modifierons la feuille de calcul, puis la macro.

16
Gérer les macrocommandes
Comment
créer une macro ?
Saisissez les données dans le tableau. Préparez-vous à enregistrer la
macro directement, avant d’avoir effectué la moindre opération
importante.

1 Dans le menu Outils, exécutez la commande Macro/Nouvelle


macro.

2 Dans Enregistrer une macro, donnez un nom descriptif à votre


macrocommande. Assignez aux macros les plus utilisées une
combinaison de touches pour une exécution instantanée.

Enfin, précisez si la macro doit


être disponible uniquement dans
ce classeur (elle sera inactive
pour les autres), dans tous les
classeurs (sélectionnez Classeur
de macros personnelles) ou
stockée dans un nouveau classeur.
(

3 Affichez la barre d'outils flottante de la gestion des macros en


exécutant la commande Affichage/ Barre d'outils/Visual Basic.

4 Cliquez sur l’icône d’enregistrement (le bouton

suite
suite
bleu) pour commencer l’enregistrement.
*

17
+

5 Effectuez, étape par étape, toutes les opérations souhaitées. Soyez


organisé, procédez logiquement, les fondations (formules,
Exercice 2 : Créer une macro

fonctions, etc.) avant la finition (la mise en forme). Seules sont


enregistrées les commandes terminées (lorsque vous cliquez sur
OK dans une boîte de dialogue ou que vous enfoncez la touche
Entrée).

6 Lorsque vous avez fini, cliquez sur Arrêter l’enregistrement. La


macrocommande est
automatiquement
enregistrée.

Elle est accessible dès


cet instant.
,
ASTUCE
Avant d’enregistrer une macro, créez l’environnement dans lequel elle devra être exécutée : respectez
le nombre de lignes, la position de la cellule de départ, etc. Par défaut, la macro utilise les références
absolues des cellules. Pour qu’elle utilise les références relatives, cliquez sur le bouton Références
relatives de la barre d'outils Enregistrement (qui ne contient qu’un autre bouton : Enregistrer).

18
Gérer les macrocommandes
7 Exécutez une macro en la sélectionnant dans son écran. Il s’affiche
lorsque vous exécutez la commande Outils/Macro/Macros. Dans la
liste déroulante, sélectionnez la macro à exécuter, puis cliquez sur
Exécuter. La macro est stockée dans le fichier Perso.xls, lié au
classeur actif. Ce fichier est masqué, donc inaccessible.

L’écran des macrocommandes permet


d’appliquer directement une procédure
complexe à la cellule sélectionnée, dans
la feuille de calcul active.

Pour l’activer, exécutez la


commande Fenêtre/Afficher.
Sélectionnez Perso.xls dans la
liste et cliquez sur OK.

ASTUCE
N’attribuez pas une combinaison de touches à chaque macro. Pour ne pas désorganiser Excel en
court-circuitant ses raccourcis, et pour éviter les trous de mémoire. Pour modifier le raccourci-
clavier assigné à une macro, cliquez sur le bouton Options à partir de la boîte de dialogue Macro.
Modifiez la lettre associée à la rubrique Touche de raccourci, puis cliquez sur OK. FIN

19
Gérer les macrocommandes
3 et 4. Editer et personnaliser une macro

Dans l’éditeur de Visual basic, la macro est affichée sous


Exercices 3 et 4 : Editer et personnaliser une macro

sa forme brute : le code. Ce code génère exactement les


mêmes opérations que celles que vous avez réalisées durant
l’enregistrement de la macro. L’éditeur permet d’y effectuer
des modifications. Manuellement, avec un maximum de précision. Le code
est affiché sous la forme de texte, que vous pouvez éditer directement, à
partir de la fenêtre des modules. Sélectionnez, coupez, collez, comme si vous
étiez dans Word. Imaginons que vous souhaitiez ajouter une colonne à un
tableau et appliquer une macro à l’intégralité du tableau. Il suffit de
modifier, aux endroits adéquats, les références des cellules, en élargissant
les plages d’une case. Pour cela, quelques notions de lecture s’imposent.
Chaque macro est représentée par une routine commençant par SUB et se
terminant par END SUB. Elle est scindée en entités commençant par WITH
et finissant par END WITH : les commandes. Au début de la macro se
trouvent les commandes de départ : sélection, exécution d’une fonction, etc.
Pour adapter les références, repérez les instructions définissant les
références des plages et des cellules. Recherchez l’objet RANGE.

Instruction type
Activecell.FormulaR1C1 Note:= "SUM (R4C3:R4C9)"
’ ( ) * +
1. le nom de l’objet (ici, la cellule active, ACTIVECELL)

2. le nom de la méthode (ici, la définition de formules, FORMULAR1C1)

3. le nom de l’argument (ici, on l’a nommé " note ")

4. l’opérateur (ici, est égal à )

5. la valeur (ici, la somme automatique d’une plage de cellules)

20
Gérer les macrocommandes
Comment éditer
et vérifier une macro ?
1 Pour vérifier l’efficacité d’une macro et vous familiariser avec le code
généré par vos actions, ouvrez la boîte de dialogue
Outils/Macro/Macros. Cliquez sur Pas à pas détaillé. Excel lance
l’éditeur de Visual Basic. Cette procédure correspond à la
commande Déboguage/Pas à pas détaillé de l’éditeur.

Ce volet affiche l’explorateur de projet.


Il surmonte le volet des propriétés du
module en cours.

La fenêtre des modules permet d’éditer le code,


comme si vous travailliez dans un traitement de
texte classique.

2 Réorganisez l’écran de manière à


afficher simultanément la feuille de
calcul Excel et l’éditeur VBA.
Pour ce dernier, un écran autorisant
l’affichage de quelques lignes suffit,
en mode Pas à pas.

suite
La première ligne est surlignée en
jaune, dans l’éditeur. Enfoncez la
touche F8 pour passer à la ligne Vérifiez la correspondance entre la syntaxe utilisée dans
suivante. l’éditeur et la formule affichée dans la barre des formules.

21
3 Lorsque vous ajoutez
une colonne à un
tableau, la fonction
Somme automatique
d’Excel met à jour les
références des cellules
Exercices 3 et 4 : Editer et personnaliser une macro

pour englober la
nouvelle venue dans le
calcul, pas la macro.

Vous devez la modifier


manuellement.
Commencez par entrer
) les modifications dans
Excel.
Après insertion de la colonne " Espagnol ", et
le déplacement des cellules d’un rang vers la
droite (la colonne Note a ajusté son calcul),
voici le résultat de la macro : la colonne Note Ensuite, ouvrez l’éditeur VBA en exécutant la
reprend sa place (il y en a donc deux), commande Outils/Macro/Macros pour sélectionner la
les résultats sont faussés (la dernière colonne
macro à exécuter, puis en cliquant sur le bouton
a été remplacée).
Modifier. Réorganisez les fenêtres de manière à
visualiser les références des cellules et le code.

4 Dans la première
sélection (saisie du
mot Note en titre de
dernière colonne),
la cellule a bougé
d’une case : en J3
figure le titre de
la dernière colonne
de données. Dans
- l’éditeur, effacez le
« J » et remplacez-le
par un « K ».

22
Gérer les macrocommandes
5 Recherchez toutes les occurrences des références, et modifiez celles
qui doivent l’être. Référez-vous en permanence à votre classeur
ouvert. Attention : ne modifiez pas les références des cellules situées
à gauche de la nouvelle colonne !

6 Vérifiez la macro corrigée en exécutant la commande Déboguage/


Pas à pas détaillé. La commande exécutée dans Excel correspond à
la ligne située au-dessus de la ligne surlignée dans l’éditeur.

7 Enregistrez la macro
pour valider les modi-
fications.

ASTUCE
Vous tentez de modifier une macrocommande à partir de l’écran des Macros et Excel refuse,
prétextant l’impossibilité de modifier un classeur masqué ? Exécutez la commande
Fenêtre/Afficher… Sélectionnez le classeur contenant la macro (perso.xls), et cliquez sur OK.
Elle est à nouveau disponible, mais vous devrez enregistrer le classeur en question.

Si Excel rencontre une erreur dans la macrocommande, il vous en informe par un message du
type « Erreur de compilation. Utilisation incorrecte de la propriété ». Ce type de message permet
de modifier rapidement la ligne incriminée, puisqu’il indique la nature de l’erreur.
FIN

23
Comment personnaliser
une macro ?
Lancer une macro à partir de la
Exercices 3 et 4 : Editer et personnaliser une macro

boîte de dialogue semble trop


fastidieux ? Alors, attribuez-lui un

bouton, dans la barre d'outils de
votre choix.

1 Exécutez la commande Outils/


Personnaliser pour afficher la
boîte de dialogue de gestion
des barres d'outils, menus et
raccourcis clavier.
Créez une nouvelle barre
d'outils pour accueillir vos
macros en cliquant sur
( Nouvelle.

2 Saisissez le nom de votre


barre d'outils dans la fenêtre
Nouvelle barre d'outils, puis
cliquez sur OK.

3 La barre d'outils s’affiche, en


bas de la liste. Elle est cochée,
et apparaîtra lorsque vous
fermerez la fenêtre. Cliquez
) sur Fermer.

24
Gérer les macrocommandes
4 Cliquez sur la nouvelle barre
d'outils en utilisant le bouton +
droit de la souris. Sélectionnez
la commande Personnaliser
dans le menu contextuel.

5 Cette fois, cliquez sur l’onglet


Commandes pour insérer une
icône dans la barre d'outils.
Sélectionnez Macro dans
Catégories puis cliquez sur le
smiley (qui désignera votre
macro). Tirez-le dans la barre
d'outils.

,
6 Enfin, cliquez sur le
bouton. La boîte de
dialogue Affecter
une macro apparaît
automatiquement.

Sélectionnez la macro
à appliquer, puis
cliquez sur OK.

ASTUCE
Pour créer un bouton dans la fenêtre (qui réagit comme une image cliquable), sélectionnez, dans
l’onglet Commandes, la catégorie Formulaires et, dans la zone Commandes, l’objet Bouton.
Tracez-le dans la fenêtre, cliquez dessus et sélectionnez une macro. Si vous exécutez une macro
enregistrée dans un autre classeur, Excel ouvrira, si nécessaire, le classeur. Veillez à ne pas
réorganiser l’arborescence de vos disques durs. FIN

25