Module 19 : Les Macros - excelwithbusiness.frexcelwithbusiness.fr/Portals/0/19_Unit_19.pdf · Par...

7
© 2010 Excel dans le Business 1 Module 19 : Les Macros Module 19 : Les Macros 19.0 Introduction Si vous effectuez régulièrement la même opération dans Excel, ça peut valoir le coup de lancer une macro (du grec "μάκρο" pour grand, l’idée de la macro c’est de remplacer une grande tache). Une macro est l’enregistrement d’une série de commandes. Quand vous voulez réaliser cette série de commandes, vous n’avez qu’à lancer la macro. Il y a deux façons de créer des macros. Vous pouvez écrire le code VBA dans Microsoft Visual Basic pour Applications (plutôt pour les macros complexes) ou vous pouvez demander à Excel de vous “observer” pendant que vous réalisez la série de commandes manuellement, puis lancer l’enregistrement pour réaliser les commandes autant de fois que vous le souhaitez. Nous ne montrerons que la deuxième option ici. 19.1 Avant de commencer Ajouter l’onglet Développeur Pour voir les options de Macro en Excel 2007, vous devez d’abord ajouter l’onglet Développeur dans le ruban : Bouton Office > Options Excel Puis cocher la case Afficher l’onglet Développeur. Un huitième onglet apparait à droite. Activer les macros Afin de lancer ou d’enregistrer des macros, vous devez les activer. Par sécurité, les macros sont désactivées sur Excel 2007. Dans l’onglet développeur, dans le groupe Code, cliquez sur Sécurité des Macros, dans Ia fenêtre qui apparait, dans Paramètres des Macros, cliquez sur “Activer toutes les macros

Transcript of Module 19 : Les Macros - excelwithbusiness.frexcelwithbusiness.fr/Portals/0/19_Unit_19.pdf · Par...

Page 1: Module 19 : Les Macros - excelwithbusiness.frexcelwithbusiness.fr/Portals/0/19_Unit_19.pdf · Par sécurité, les macros sont désactivées sur Excel 2007. Dans l’onglet développeur,

© 2010 Excel dans le Business 1 Module 19 : Les Macros

Module 19 : Les Macros

19.0 Introduction

Si vous effectuez régulièrement la même opération dans Excel, ça peut valoir le coup de

lancer une macro (du grec "μάκρο" pour grand, l’idée de la macro c’est de remplacer une

grande tache). Une macro est l’enregistrement d’une série de commandes. Quand vous

voulez réaliser cette série de commandes, vous n’avez qu’à lancer la macro.

Il y a deux façons de créer des macros. Vous pouvez écrire le code VBA dans Microsoft

Visual Basic pour Applications (plutôt pour les macros complexes) ou vous pouvez

demander à Excel de vous “observer” pendant que vous réalisez la série de commandes

manuellement, puis lancer l’enregistrement pour réaliser les commandes autant de fois que

vous le souhaitez. Nous ne montrerons que la deuxième option ici.

19.1 Avant de commencer

Ajouter l’onglet Développeur

Pour voir les options de Macro en Excel 2007, vous devez d’abord ajouter l’onglet

Développeur dans le ruban :

Bouton Office > Options Excel

Puis cocher la case Afficher l’onglet Développeur. Un huitième onglet apparait à droite.

Activer les macros

Afin de lancer ou d’enregistrer des macros, vous devez les activer. Par sécurité, les macros

sont désactivées sur Excel 2007.

Dans l’onglet développeur, dans le groupe Code, cliquez sur Sécurité des Macros, dans Ia

fenêtre qui apparait, dans Paramètres des Macros, cliquez sur “Activer toutes les macros

Page 2: Module 19 : Les Macros - excelwithbusiness.frexcelwithbusiness.fr/Portals/0/19_Unit_19.pdf · Par sécurité, les macros sont désactivées sur Excel 2007. Dans l’onglet développeur,

© 2010 Excel dans le Business 2 Module 19 : Les Macros

(non recommandé ; risqué d’exécution de code potentiellement dangereux”)”:

Utilisez les références relatives

Quand vous enregistrez une macro, vous allez en général réaliser certaines actions (par

exemple, entrer du texte). Votre macro peut soit réaliser les actions dans les mêmes cellules

que vous ou vous pouvez régler la macro pour relier les cellules en fonction de la première

cellule spécifiée. Pour ce faire, sélectionner Utiliser les références relatives :

Vous devrez normalement sélectionner cette option quand vous enregistrez une macro si

vous voulez reproduire une action en plusieurs endroits de votre feuille de données.

19.2 Créer (enregistrer) une macro

Voici la méthode facile, sans code, pour la création d’une macro. Supposons que vous ayez

une liste de matchs de tennis présentés sur deux colonnes de joueurs. Vous voulez ajouter

une troisième colonne pour indiquer le gagnant, et faire la mise en forme comme cela :

Page 3: Module 19 : Les Macros - excelwithbusiness.frexcelwithbusiness.fr/Portals/0/19_Unit_19.pdf · Par sécurité, les macros sont désactivées sur Excel 2007. Dans l’onglet développeur,

© 2010 Excel dans le Business 3 Module 19 : Les Macros

C’est assez répétitif de formater toutes les cellules de la colonne D. Donc enregistrons une

macro pour partir d’une cellule de la colonne B ou C, copier son contenu dans une cellule de

la colonne D, puis la mettre en forme (en jaune avec texte en gras). Tout d’abord, cliquez sur

la cellule pour laquelle vous souhaitez enregistrer la macro. Disons B3, puis cliquez sur :

Développeur > Code > Enregistrer une macro

Pour obtenir :

Page 4: Module 19 : Les Macros - excelwithbusiness.frexcelwithbusiness.fr/Portals/0/19_Unit_19.pdf · Par sécurité, les macros sont désactivées sur Excel 2007. Dans l’onglet développeur,

© 2010 Excel dans le Business 4 Module 19 : Les Macros

Donnez un nom à votre macro, entrez un raccourci clavier (pour lancer la macro plus tard,

nous avons choisi Ctrl+w ici) puis choisissez où vous voulez garder la macro (par défaut -, Ce

classeur, convient) par exemple :

Cliquez sur OK. Attention, vous êtes maintenant en train d’enregistrer !

Page 5: Module 19 : Les Macros - excelwithbusiness.frexcelwithbusiness.fr/Portals/0/19_Unit_19.pdf · Par sécurité, les macros sont désactivées sur Excel 2007. Dans l’onglet développeur,

© 2010 Excel dans le Business 5 Module 19 : Les Macros

Pour cette procédure :

Etapes (les suivre avec attention)

Explication

Ctrl-C Copie le nom du gagnant

Bouge la cellule active de deux vers la droite, c’est-à-dire dans la colonne D si nous avons commencé dans la colonne B, ou E si nous avons commencé dans la colonne C.

Ctrl- Bouge la cellule active vers la colonne C, indépendamment de la cellule dans laquelle nous avons commencé (car avec Ctrl, nous allons à la limite des données)

Bouge la cellule active vers la colonne D, indépendamment de la cellule dans laquelle nous avons commencé.

Ctrl-V Colle le gagnant dans la colonne D

Ctrl-G Met le texte en gras

Met le texte en italique

Ouvre l’onglet Accueil (dans lequel se trouvent les options de format)

Choisir le remplissage jaune (à la souris)

Remplit la cellule en jaune

Choisir la bordure extérieure (à la souris)

Dessine une bordure épaisse autour de la cellule

Cliquer sur l’onglet Développeur (à la souris)

Ramène à l’option permettant d’arrêter l’enregistrement

Cliquez sur Arrêter l’enregistrement (à la souris)

Arrête l’enregistrement de votre macro

Voilà, votre macro est finie. Vous pouvez maintenant choisir n’importe lequel des joueurs de

tennis, appuyez sur Ctrl+w et la copie et la mise en forme se font automatiquement :

Page 6: Module 19 : Les Macros - excelwithbusiness.frexcelwithbusiness.fr/Portals/0/19_Unit_19.pdf · Par sécurité, les macros sont désactivées sur Excel 2007. Dans l’onglet développeur,

© 2010 Excel dans le Business 6 Module 19 : Les Macros

19.3 Lancer votre macro

Vous avez déjà vu une manière de lancer votre macro avec le raccourci clavier (Ctrl+w ci-

dessus). On peut également le faire avec l’icône Macros :

Elle affiche la liste de toutes les macros enregistrées dans les classeurs ouverts :

Page 7: Module 19 : Les Macros - excelwithbusiness.frexcelwithbusiness.fr/Portals/0/19_Unit_19.pdf · Par sécurité, les macros sont désactivées sur Excel 2007. Dans l’onglet développeur,

© 2010 Excel dans le Business 7 Module 19 : Les Macros

Ici, vous pouvez lancer et supprimer les macros. Pas à pas détaillé et Modifier vous renvoie

vers la fenêtre Visual Basic, pour éditer le code de votre enregistrement. Eviter de faire cela,

à moins que vous ne soyez sûr de comprendre ce langage de programmation.