Vous êtes sur la page 1sur 16

1

Créer ses premières macros

1 Créer ses premières macros Objectifs pédagogiques – Faire connaissance avec l’envirennement de programmation

Objectifs pédagogiques

– Faire connaissance avec l’envirennement de programmation (VBA)

– Apprendre à créer et à exécuter des macro-commandes pour automatiser des tâches

– Comprendre comment développer des applications simples en VBA

Cette fiche vous permet de faire connaissance avec l’environnement de programmation Visual Basic pour Applications (VBA). Vous allez apprendre à créer une macro et obtenir sans effort les instructions VBA relatives à cette macro. En effet, l’enregistreur de macro rédige les instructions à votre place.

1. Activer l’onglet Développeur

Avant de vous lancer dans la création de macros en VBA, vérifiez si l’onglet Développeur est bien activé dans le ruban d’Excel, car il n’apparaît pas par défaut.

le ruban d’Excel, car il n’apparaît pas par défaut. Si l’onglet Développeur n’est pas disponible dans

Si l’onglet Développeur n’est pas disponible dans le ruban, affichez-le de la manière suivante :

1

2 Dans la catégorie Standard, activez la case à cocher Afficher l’onglet Développeur dans le ruban, puis cliquez sur OK.

Cliquez sur le bouton Microsoft Office

sur OK . ◦ Cliquez sur le bouton Microsoft Office , puis sur Options Excel .

, puis sur Options Excel.

sur le bouton Microsoft Office , puis sur Options Excel . © FSJES-Agadir 2015 • Informatique
1
1

Créer ses premières macros

2

2. L’enregistreur de macro

L’enregistreur de macro permet de créer des macros en enregistrant (pour les reproduire) des séquences d’actions. Il se charge de produire tout seul le code VBA de la macro. L’enregistreur de macro est donc l’outil idéal pour débuter l’apprentissage de la programmation en VBA.

L’enregistreur de macro est utile dans les situations suivantes :

On ne connait pas l’instruction VBA pour coder une commande précise ;

On veux créer rapidement une macro simple, sans la rédiger soi-même en VBA.

Préparez tout avant de lancer l’enregistreur : En effet, l’enregistreur fonctionne comme un magnétophone. Supposons qu’un musicien voulais enregistrer une chanson. Avant de démarrer l’enregistrement, il accorde son guitare, règle son micro, prépare la partition. Ainsi, les bruits des préparatifs ne sont pas enregistrés.

Ainsi, les bruits des préparatifs ne sont pas enregistrés. C’est la même chose pour Excel. L’enregistreur

C’est la même chose pour Excel. L’enregistreur mémorisera tous vos faits et gestes dans Excel (enfin, presque tous). Prenez le temps, en fonction de l’objectif de la macro, de bien définir pas à pas les actions que vous devez réaliser.

2.1. Démarrer l’enregistreur

Dans Excel 2007, pour démarrer l’enregistreur de macro, suivez ces étapes :

1 Activez l’onglet Développeur. Dans le groupe Code, cliquez sur le bouton Enregistrer une macro. La boîte de dialogue Enregistrer une macro s’ouvre.

. La boîte de dialogue Enregistrer une macro s’ouvre. © FSJES-Agadir 2015 • Informatique Appliquée •
1
1

Créer ses premières macros

3

Nom de la macro : Remplacer le nom par défaut Macro1 par un nom plus explicite. Notez que le nom des macros doit respecter quelques règles : Par exemple, un nom de macro est composé exclusivement de lettres ou de chiffres dont le premier caractère doit être une lettre.

Touche de raccourci : Il est possible de créer un raccourci clavier afin d’exécuter la macro. Cliquez sur la zone Touche de raccourci et appuyez sur une touche ou une combinaison de touches qui servira par la suite à exécuter la macro, par exemple [R] ou [Maj]+[R]. La touche [Ctrl] est toujours active.

Enregistrer la macro dans : Cette zone de liste vous propose trois possibilités : enregistrer la macro dans le classeur actif (Ce classeur) ou dans le Classeur de macros personnelles ou dans un Nouveau classeur.

Dans un premier temps, ne vous souciez pas de cette zone. Gardez le choix par défaut c-à-d Ce classeur.

Description : Complétez la description en indiquant brièvement le rôle de la macro que vous allez enregistrer.

2 Cliquez sur le bouton OK.

Au bas de la fenêtre d’Excel (dans la barre d’état), l’indicateur d’enregistrement confirme que l’enregistrement est en cours.

confirme que l’enregistrement est en cours. 3 ◦ Réalisez les opérations que vous voulez

3 Réalisez les opérations que vous voulez enregistrer. l’enregistreur ne fonctionnait pas.

voulez enregistrer. l’enregistreur ne fonctionnait pas. Faites-le normalement, comme si 4 ◦ Quand vous avez

Faites-le normalement, comme si

4 Quand vous avez terminé, arrêtez l’enregistreur de macro : cliquez sur le bouton Arrêter l’enregistrement dans l’onglet Développeur du ruban ou sur l’indicateur d’enregistrement au bas de la fenêtre.

sur l’indicateur d’enregistrement au bas de la fenêtre. Notez que l’indicateur d’enregistrement disparaît de la

Notez que l’indicateur d’enregistrement disparaît de la barre d’état.

1
1

Créer ses premières macros

4

2.2. Déplacements absolus et relatifs

Excel enregistre les déplacements du pointeur selon deux modes : Absolu ou Relatif. En effet, lorsque vous enregistrez une macro Excel en mode absolu (le mode par défaut), l’exécution suit les mouvements du pointeur en absolu, suivant la référence exacte de la cellule. Par contre, enregistrer une macro en mode relatif enregistre les déplacements suivant la différence du nombre de lignes et de colonnes.

Supposons que la cellule A4 soit sélectionnée et que vous sélectionnez ensuite la cellule B2.

et que vous sélectionnez ensuite la cellule B2 . Alors, deux actions peuvent être enregistrées :

Alors, deux actions peuvent être enregistrées :

Déplacement absolu : déplacement en la cellule B2 ; déplacement en la cellule B2 ;

Déplacement relatif : déplacement vers une cellule située une colonne vers la droite et deux lignes vers le déplacement vers une cellule située une colonne vers la droite et deux lignes vers le haut par rapport à la cellule d’origine.

Une fois que l’enregistrement est en cours, vous pouvez activer le mode Relatif en cliquant dans l’onglet Développeur du ruban sur le bouton Utiliser les références relatives.

du ruban sur le bouton Utiliser les références relatives. Pour revenir en mode Absolu, cliquez à

Pour revenir en mode Absolu, cliquez à nouveau sur le même bouton. Vous pouvez éventuellement passer d’un mode à l’autre pendant l’enregistrement d’une macro.

3.

Exemples

Cette section a pour objectif de vous initier à l’utilisation de l’enregistreur, au travers d’exemples simples ne demandant pas trop de connaissances en Excel et surtout, ne demandant aucune connaissance en langage de programmation.

3.1. Mettre en couleur et en gras le contenu d’une selection

Notre première macro va simplement consister à mettre en bleu et en gras le contenu d’une cellule ou d’une place de cellules sélectionnée.

Avant le démarrage de l’enregistreur, il faut que les cellules contiennent déjà les données et qu’elles soient sélectionnées.

Pour enregistrer la macro, procédez ainsi :

1
1

Créer ses premières macros

5

1

2

3

Sélectionnez une cellule ou une plage de cellules contenant des données

Démarrez l’enregistreur de macro en cliquant sur le bouton Enregistrer une macro dans l’onglet Développeur.

Avant d’exécuter les opérations que vous voulez enregistrer via la macro, vous devrez :

a) Donner un nom à la macro, par exemple Contenu_BleuGras ;

b) Attribuer un raccourci (facultatif),

c) Spécifier le classeur dans lequel elle sera enregistrée. Dans un premier temps, vous pouvez laisser le choix par défaut (Ce classeur)

d) Détailler brièvement ce que la macro fait (facultatif) ;

4

brièvement ce que la macro fait (facultatif) ; 4 ◦ Lorsque vous êtes prêts, cliquez sur

Lorsque vous êtes prêts, cliquez sur OK et c’est parti. Il suffit alors de :

a) Passez à l’onglet Accueil du ruban

b) Cliquez sur le bouton Gras

c) Cliquez sur le bouton Couleur de police sur la pastille bleue.

sur le bouton Couleur de police sur la pastille bleue. . La palette de couleurs s’ouvre.
sur le bouton Couleur de police sur la pastille bleue. . La palette de couleurs s’ouvre.

. La palette de couleurs s’ouvre. Cliquez

5 Arrêter l’enregistrement de la macro, soit par le ruban, soit via la barre d’état.

Notez que si on sélectionne une plage de cellules après avoir démarré l’enregistreur, la macro reproduirait cette sélection à chaque lancement et s’exécuterait toujours sur la même plage.de la macro, soit par le ruban, soit via la barre d’état. Maintenant, vous pouvez tester

Maintenant, vous pouvez tester votre macro. Pour cela il suffit :

1

2 d’appuyer sur la combinaison de touches que vous avez définie dans la boîte de dialogue Enregistrer une macro, ici, [Ctrl]+[R]. La macro Rouge exécute les actions enregistrées.

de sélectionner une cellule ou une plage de cellules contenant des données

3.2. Mettre en forme le tableau courant

Maintenant, nous allons enregistrer une macro qui sélectionnera un tableau, colorera en rouge le contenu des cellules sélectionnées et leur attribuera un format numérique à deux décimales. Mais avant tout, il faut qu’une cellule soit sélectionnée dans le tableau.

Pour enregistrer la macro, procédez ainsi :

1
1

Créer ses premières macros

6

1

Sélectionnez une cellule dans le tableau.

macros 6 1 ◦ Sélectionnez une cellule dans le tableau. Dans l’onglet Développement du ruban, cliquez

Dans l’onglet Développement du ruban, cliquez sur le bouton Enregistrer une macro. La boîte Enregistrer une macro s’ouvre.

Proposez un nom à votre macro (par exemple, Selection_Tableau). Puis, choisissez un raccourci clavier (par exemple, [Ctrl]+[Maj]+[T]). Entrez une brève description. Validez en cliquant sur OK.

4 Pour élargir la selection au tableau en entier, appuyez sur la combinaison de touches [Ctrl]+[*]. Tout le tableau est maintenant sélectionné.

2

3

. Tout le tableau est maintenant sélectionné. 2 ◦ 3 ◦ 5 ◦ Passez à l’onglet

5

le tableau est maintenant sélectionné. 2 ◦ 3 ◦ 5 ◦ Passez à l’onglet Accueil du

Passez à l’onglet Accueil du ruban. Cliquez sur le bouton Couleur de police . La palette de couleurs s’ouvre. Cliquez sur la pastille bleue.

de couleurs s’ouvre. Cliquez sur la pastille bleue. 6 ◦ Toujours dans l’onglet Accueil , cliquez

6 Toujours dans l’onglet Accueil, cliquez sur le petit bouton dans l’angle inférieur droit du groupe Nombre. La boîte de dialogue Format de cellule s’ouvre. Sous l’onglet Nombre, sélectionnez la catégorie Nombre. Tapez 2 dans la zone Nombre de décimales et cochez la case Utiliser le séparateur des milliers.

1
1

Créer ses premières macros

7

1 Créer ses premières macros 7 7 ◦ Stopez l’enregistrement en cliquant sur le bouton Arrêter

7 Stopez l’enregistrement en cliquant sur le bouton Arrêter l’enregistrement dans l’onglet Développeur du ruban. Notez que l’indicateur Enregistrement disparaît de la barre d’état.

Exploitez la macro

Appliquez maintenant la macro à un autre tableau dans le classeur. Il ne doit pas nécessairement être situé au même emplacement ni contenir le même nombre de cellules. Procédez ainsi :

1

2

Sélectionnez une cellule dans le tableau.

Appuyez sur la combinaison de touches [Ctrl]+[Maj]+[T]. La macro Selection_Tableau que vous venez de créer est exécutée.

4. L’éditeur VBA

Lors de l’enregistrement d’une macro, Excel enregistre vos manipulations et les traduit en code VBA. Pour examiner ce code, il faut utiliser l’éditeur de Visual Basic ou VBE (Visual Basic Editor), qui s’exécute dans une fenêtre différente de celle d’Excel.

4.1. Le code des macros

Nous allons d’abord examiner ce que Excel a produit suite à l’enregistrement des macros que nous avons nommés Contenu_BleuGras et Selection_Tableau.

Pour visualiser le code généré par Excel, procédez ainsi :

1 Dans l’onglet Développeur, cliquez sur le bouton Macros du groupe Code.

, cliquez sur le bouton Macros du groupe Code . La fenêtre qui s’ouvre affiche les

La fenêtre qui s’ouvre affiche les macros disponibles. On reconnaît dans la liste les noms des macros enregistrées.

1
1

Créer ses premières macros

8

1 Créer ses premières macros 8 Notez que la fenêtre ci-dessus vous permet aussi d’ exécuter
1 Créer ses premières macros 8 Notez que la fenêtre ci-dessus vous permet aussi d’ exécuter

Notez que la fenêtre ci-dessus vous permet aussi d’exécuter ou supprimer une macro

déjà enregistrée. Le bouton

description de la macro choisie. Le bouton Pas à pas détaillé vous permet d’examiner le

déroulement instruction après instruction de la macro.

vous permet de modifier le raccourci clavier et la

2 Sélectionnez dans la liste la macro qui vous intéresse et cliquez sur le bouton Modifier pour voir son code. La fenêtre de l’éditeur VBA s’ouvre. Elle donne accès à toutes les macros.

VBA s’ouvre. Elle donne accès à toutes les macros. © FSJES-Agadir 2015 • Informatique Appliquée •
1
1

Créer ses premières macros

9

Dans la fenêtre principale (fenêtre du code) figure le code des deux macros enregistrées. Chacune commence par l’instruction Sub suivie du nom de la macro : Sub Contenu_BleuGras() et Sub Selection_Tableau().

Les lignes colorées en vert et qui commencent par une apostrophe () sont des commentaires, ce sont simplement des lignes qui sont ignorées par VBA. Notez que l’enregistreur commente systématiquement chaque macro avec :

Son nom : telle que vous l’avez proposé pour la macro en le saisissant dans la boîte de telle que vous l’avez proposé pour la macro en le saisissant dans la boîte de dialogue de l’enregistreur ;

Sa description : telle que vous l’avez entrée, pour décrire l’intérêt de la macro, dans la boîte de telle que vous l’avez entrée, pour décrire l’intérêt de la macro, dans la boîte de dialogue de l’enregistreur ;

Le raccourci clavier : que vous avez défini dans la boîte de dialogue de l’enregistreur. que vous avez défini dans la boîte de dialogue de l’enregistreur.

défini dans la boîte de dialogue de l’enregistreur. Le code de la macro Contenu_BleuGras contient sept

Le code de la macro Contenu_BleuGras contient sept instructions, bien sûr sans compter les lignes de commentaires. Afin de faciliter le repérage des explication, chaque ligne du code sera précédée d’un numéro :

1

Sub Contenu_BleuGras()

2

Selection.Font.Bold = True

3

With Selection.Font

4

.Color = -4165632

5

.TintAndShade = 0

6

End With

7

End Sub

Notez d’abord que les instructions du VBA, comme la plupart des langages de programmation s’écrit en anglais. Dans le code ci-dessus, les instructions 1 et 7 indiquent le début et la fin de la macro. L’instruction 2 met le contenu de la sélection (la cellule ou la plage sélectionnée) en gras. Les instructions 3 et 6 indiquent que les instructions quelles délimitent concernent le contenu de la sélection. L’instruction 4 attribue à la sélection la couleur bleue qui est codée -4165632. L’instruction 5 signifie pas d’ombrage.

Maintenant, supposons que notre macro Contenu_BleuGras ne doit pas mettre le contenu de la sélection en bleu, mais plutôt le mettre en rouge. C’est très simple : dans l’instruction 4,

1
1

Créer ses premières macros

10

remplacez simplement la valeur -4165632 par la valeur -16776961 ou plus simplement par vbRed, c-à-d le code de la couleur rouge.

Le code de la macro Selection_Tableau contient huit instructions

1

Sub Selection_Tableau()

2

Selection.CurrentRegion.Select

3

With Selection.Font

4

.Color = -4165632

5

.TintAndShade = 0

6

End With

7

Selection.NumberFormat = "#,##0.00"

8

End Sub

Dans le code ci-dessus, les instructions 1 et 8 indiquent le début et la fin de la macro. L’instruction 2 sélectionne tout le tableau contenant la cellule (ou la plage) sélectionnée. Aussi, 3 et 6 indiquent que les instructions quelles délimitent concernent le contenu de la sélection. L’instruction 4 attribue à la sélection la couleur bleue. L’instruction 5 signifie pas d’ombrage. L’instruction 7 attribue à la sélection un format numérique à deux décimales avec séparateur des milliers.

Maintenant, supposons que notre macro Selection_Tableau doit en plus afficher les nombres sous format monétaire personnalisé (en dirhams) suivant :

sous format monétaire personnalisé (en dirhams) suivant : Pour se faire, remplacez la ligne Selection.NumberFormat =

Pour se faire, remplacez la ligne Selection.NumberFormat = "#,##0.00" par la ligne

Selection.NumberFormat = "#,##0.00 ""dh"""

Vous pouvez exécuter la macro modifiée en cliquant sur le bouton l’éditeur VBE.

macro modifiée en cliquant sur le bouton l’éditeur VBE. de la barre Standard de 4.2. Ouverture

de la barre Standard de

4.2. Ouverture de l’éditeur VBA

Dans Excel, vous pouvez créer une macro soit en l’écrivant, soit en l’enregistrant. Nous avons vu que le bouton Modifier de la fenêtre Macro lance automatiquement Visual Basic Editor (VBE). Notons que nous possédons autres méthodes pour ouvrir VBE :

Si VBE est fermé, appuyez sur le raccourci clavier [Alt] + [F11] pour l’ouvrir. Rappuyez sur [Alt] + [F11] , vous êtes à nouveau [Alt]+[F11] pour l’ouvrir. Rappuyez sur [Alt]+[F11], vous êtes à nouveau dans Excel. En effet, ce raccourci clavier très pratique permet de passer très rapidement de l’un à l’autre.

On peut aussi ouvrir VBE à partir de l’onglet Développeur en cliquant sur le bouton Visual Basic . Développeur en cliquant sur le bouton Visual Basic.

1
1

Créer ses premières macros

11

1 Créer ses premières macros 11 4.3. Fenêtre de l’éditeur VBA Par défaut, la fenêtre de

4.3. Fenêtre de l’éditeur VBA

Par défaut, la fenêtre de l’éditeur VBA (VBE) est formée de trois sous-fenêtres : à gauche on trouve la fenêtre Projet et la fenêtre Propriétés, puis à droite, on trouve la fenêtre du code. Comme dans toutes les fenêtres des applications MS Office, les barres de menus et d’outils sont logées en haut.

les barres de menus et d’outils sont logées en haut. Fenêtre Explorateur de projets La fenêtre

Fenêtre Explorateur de projetsles barres de menus et d’outils sont logées en haut. La fenêtre de l’Explorateur de projets

La fenêtre de l’Explorateur de projets est située par défaut dans l’angle supérieur gauche de la fenêtre du VBE. Il est possible de l’étirer, la fermer ou la décrocher pour la faire flotter.

la fermer ou la décrocher pour la faire flotter. © FSJES-Agadir 2015 • Informatique Appliquée •
1
1

Créer ses premières macros

12

La fenêtre de l’Explorateur de projets présente les différents projets ouverts et les éléments contenus dans chaque projet VBA. Chaque projet, nommé VBAProject, correspond à un seul classeur. Un projet VBA regroupe les éléments suivants :

– le classeur lui-même

– les feuilles de calcul du classeur

– les modules dans lesquels on écrit du code VBA

– Les feuilles VBA (Formulaires ou UserForms)

Fenêtre de codedu code VBA – Les feuilles VBA (Formulaires ou UserForms) Les fenêtres de code sont les

Les fenêtres de code sont les endroits ou vous saisissez le code VBA de vos programmes. Trois types d’objets possèdent leur fenêtre de code : les modules, les feuilles de calcul et les feuilles VBA.

: les modules, les feuilles de calcul et les feuilles VBA. Ne paniquez pas si vous

Ne paniquez pas si vous ne savez pas encore ce qu’est un objet Excel, nous allons y venir.

Pour ouvrir une fenêtre de code d’un objet Excel, suivez la procédure suivante :

1 Sélectionnez l’objet concerné

2 Appuyez sur la touche [F7] ou cliquez sur le bouton Afficher le code

la touche [F7] ou cliquez sur le bouton Afficher le code de la fenêtre Projet. S’il

de la fenêtre Projet.

sur le bouton Afficher le code de la fenêtre Projet. S’il s’agit d’une feuille de calcul

S’il s’agit d’une feuille de calcul ou un module, vous pouvez ouvrir sa fenêtre de code en double cliquant sur le nom de la feuille de calcul ou du module. S’il s’agit d’une feuille VBA (UserForm), vous pouvez ouvrir sa fenêtre de code en cliquant du bouton droit sur le nom de la feuille et puis choisissez la commande Code.

Pour saisir une nouvelle macro dans une fenêtre de code, procédez comme suit :

1 Saisissez l’instruction Sub suivie du nom de la macro

2 Appuyez sur la touche [Entrée]

L’éditeur VBA complète automatiquement votre saisie avec les doubles parenthèses () et insère l’instruction de fin de macro End Sub.

Nous allons créer une macro en écrivant son code sans l’utilisation de l’enregistreur. Supposons que notre macro sera nommée Test1. Pour cela, procédez comme suit :

1 Placez le point d’insertion à la fin de la fenêtre du code.

2 Tapez Sub Test1 et appuyez sur la touche [Entrée].

L’éditeur complète votre saisie ainsi :

Sub Test1()

End Sub

L’éditeur place aussi le point d’insertion entre les deux instructions. Il vous reste à saisir les instructions décrivant les actions à réaliser par la macro.

1
1

Créer ses premières macros

13

Par exemple, insérez l’instruction MsgBox "Bonjour le monde" dans le corps de la macro :

Sub Test1() MsgBox "Bonjour le monde" End Sub

Pour exécuter cette macro, nous avons deux possibilités :

A partir du VBE , en procédant comme suit :

A

partir du VBE, en procédant comme suit :

1 Vérifiez que le point d’insertion est à l’intérieur du code de la macro. Si besoin est, cliquez à l’intérieur de ce code

2 Appuyez sur la touche [F5] ou cliquez sur le bouton

2 ◦ Appuyez sur la touche [F5] ou cliquez sur le bouton

de la barre d’outils Standard.

A partir d’Excel , en procédant comme suit :

A

partir d’Excel, en procédant comme suit :

1 Dans l’onglet Développeur, cliquez sur le bouton Macros du groupe Code.

2 Sélectionnez, dans la fenêtre qui s’ouvre, la macro à exécuter (dans ce cas Test1) et cliquez sur le bouton Exécuter.

Si tout s’est bien passé, après l’exécution de la macro Test1, vous devriez voir apparaître la fenêtre de dialogue suivante :

devriez voir apparaître la fenêtre de dialogue suivante : Fenêtre Propriétés La fenêtre des propriétés est

Fenêtre Propriétésdevriez voir apparaître la fenêtre de dialogue suivante : La fenêtre des propriétés est située habituellement

La fenêtre des propriétés est située habituellement sous celle de l’Explorateur de projets. Si elle n’est pas visible, vous pouvez l’afficher en appuyant sur la touche [F4] ou en cliquant sur le bouton ou en activant la commande Fenêtre Propriétés du menu Affichage.

la commande Fenêtre Propriétés du menu Affichage . La fenêtre des propriétés donne accès aux propriétés
la commande Fenêtre Propriétés du menu Affichage . La fenêtre des propriétés donne accès aux propriétés

La fenêtre des propriétés donne accès aux propriétés de l’objet Excel sélectionné dans la fenêtre Explorateur de projets. Elle permet, en particulier, de renommer l’objet concerné.

1
1

Créer ses premières macros

14

4.4. Configuration de l’éditeur VBA

Comme la plupart des applications, l’éditeur VBA peut être configuré par l’intermédiaire d’une boîte de dialogue nommée Options.

Pour afficher les options de l’éditeur, activez la commande Options du menu Outils. La boîte de dialogue suivante apparaît :

du menu Outils . La boîte de dialogue suivante apparaît : Sous l’onglet Editeur , il

Sous l’onglet Editeur, il vaut mieux conserver toutes les aides proposées. Il est aussi vivement conseillé de cocher l’option Déclaration des variables obligatoire. Cette option vous évitera bien des erreurs, principalement de frappe.

Si l’option Déclaration des variables obligatoire est activée, VBE insère l’instruction Option Explicit au début de chaque nouveau module.

Option Explicit au début de chaque nouveau module. Pour ajouter un module à un classeur, il

Pour ajouter un module à un classeur, il faut d’abord sélectionner le classeur dans la fenêtre projet et ensuite cliquer sur la commande Module dans le menu Insertion. Plusieurs modules peuvent être créés dans un même classeur afin de mieux organiser le code VBA.

5. Exécuter une macro

Nous avez déjà vu quelques manières de lancer une macro enregistrée ou écrite directement dans un module :

– via le raccourci clavier assigné à la macro

– via le bouton Macros de l’onglet Développeur ou Affichage du ruban d’Excel

1
1

Créer ses premières macros

15

– via l’éditeur VBE en mettant le point d’insertion à l’intérieur du code de la macro.

Il existe également plusieurs autres moyens d’exécuter une macro.

5.1. Insérer une macro dans la barre d’Accès rapide

5.2. Affecter une macro à un bouton

5.3. Associer une macro à un graphique ou image

6. Enregistrer un classeur avec macros

Par défaut, depuis la version 2007 d’Excel, un classeur est doté de l’extension xlsx. Un tel classeur ne peut comprendre de macro VBA.

Si vous essayez d’enregistrer un classeur comprenant des macros VBA avec la commande ou le bouton Enregistrer , un message vous informe que le projet VB ne peut être enregistré dans des classeurs sans macro.

VB ne peut être enregistré dans des classeurs sans macro. D’ailleurs, si vous cliquez sur le
VB ne peut être enregistré dans des classeurs sans macro. D’ailleurs, si vous cliquez sur le

D’ailleurs, si vous cliquez sur le bouton Oui, enregistrez le classeur avec l’extension xlsx et toutes les macros seront irrémédiablement perdue.

Si vous êtes dans cette situation, procédez comme suit :

1 Cliquez sur le bouton Non pour revenir à la fenêtre Enregistrer sous

2 Ouvrez la liste Type et sélectionnez le type de fichier qui prend en charge les macros :

le type de fichier qui prend en charge les macros : Notez que l’icône est différente

Notez que l’icône est différente et que l’extension du fichier est xlsm où (m = macro)

et que l’extension du fichier est xlsm où (m = macro) En résumé, pour enregistrer un

En résumé, pour enregistrer un classeur en incluant ses macros, il suffit de l’enregistrer au for- mat xlsm. Pour ce faire,

1 Cliquez sur le bouton Office, puis sur la commande Enregistrer sous pour ouvrir la fenêtre Enregistrer sous

2 Après avoir saisi le nom à donner au classeur, ouvrez la liste Type et sélectionnez le type de fichier qui prend en charge les macros.

1
1

Créer ses premières macros

16

7. Excel et la sécurité

Certaines instructions dans les macros VBA peuvent agir sur le système d’exploitation et donc sur le fonctionnement de votre ordinateur. Il est donc dangereux d’exécuter des macros dont la source est douteuse. Il est donc conseillé de rester prudent !

Par défaut, à l’ouverture d’un classeur contenant du code VBA, Excel refuse d’exécuter les macros VBA en les désactivant. L’avertissement suivant apparaît sous le ruban :

L’avertissement suivant apparaît sous le ruban : Pour réactiver les macros, procédez comme suit : 1

Pour réactiver les macros, procédez comme suit :

1 Appuyez sur le bouton Options de la barre d’Avertissement. La fenêtre suivante s’ouvre :

la barre d’Avertissement. La fenêtre suivante s’ouvre : 2 ◦ Sélectionnez l’option Activer ce contenu puis

2 Sélectionnez l’option Activer ce contenu puis cliquez sur [OK].

Si vous voulez modifier le niveau de sécurité, procédez comme suit :

1 Depuis l’onglet développeur, cliquer sur la commande sécurité des macros

développeur, cliquer sur la commande sécurité des macros 2 ◦ La catégorie Paramètres des macros de

2 La catégorie Paramètres des macros de la fenêtre du Centre de gestion de la confidentialité s’affiche. Quatre options de sécurité sont proposées.

s’affiche. Quatre options de sécurité sont proposées. © FSJES-Agadir 2015 • Informatique Appliquée •