Créer votre première macro à partie de l’enregistreur de macros

Supposons que nous ayons besoin de créer une macro qui active une feuille de calcul. Ainsi, si nous avons la feuille Feuil1 actif, nous allons écrire une macro qui active la feuille de calcul Feuil2.
1. Démarrez Microsoft Excel et assurez-vous que le pointeur de cellule se trouve sur la feuille Feuil1.
2. Pour activer l’enregistreur de macro, allez dans l’onglet Développeur de ruban et dans le groupe Code cliquez sur le bouton Enregistrer une macro.

Figure 1 : Enregistrer une macro

3 Dans la fenêtre Enregistrer une macro qui s’ouvre, définissez les paramètres requis de la procédure enregistrée : attribuez par exemple, le nom ActiverFeuil2 à la macro, saisissez les explication appropriées dans le champ Description, et laissez le champ Enregistrer la macro dans sans changements. Cliquez sur OK.

Figure 2 : Fenêtre enregistrer une macro

Les champs Nom de la macro et Description de la macro sont utilisés pour spécifier le nom de la macro et sa description. Le nom d’une macro ne doit pas contenir d’espaces et la description est importante pour les macros réutilisables, car après un certain temps, vous aurez du mal à vous rappeler pourquoi telle ou telle macro a été créée. Par défaut, les macros sont nommées Macro1, Macro2, etc. Afin de faciliter la reconnaissance d’une macro, il est préférable de ne pas utiliser de nom standard, mais de lui donner un nom unique qui explique à quoi elle est destinée.

Dans la figure 2, remarquez la petite case à droite de Ctrl + dans la section Touche de raccourci. Vous pouvez placer n’importe quelle lettre de l’alphabet dans ce champ, qui, lorsque vous appuyez avec la touche Ctrl, sera une méthode pratique par laquelle vous pouvez exécuter la macro.

Une touche de raccourci n’est pas obligatoire ; en fait la plupart de vos macros n’en auront pas besoin. Mais si vous souhaitez attribuer une touche de raccourci, prenez la bonne habitude de l’attribuer avec la combinaison Ctrl + Maj et non simplement la touche Ctrl. Excel a attribué les 26 lettres de l’alphabet pour servir de raccourcis intégrés avec la touche Ctrl pour diverses tâches, et vous ferez bien d’éviter de remplacer cette fonctionnalité native. Par exemple, Ctrl + C est la combinaison de touches pour copier du texte. Toutefois, si vous affectez la touche de raccourci Ctrl + C à votre macro, vous remplacerez la valeur par défaut pour cette combinaison de touches et ne pourrez pas utiliser Ctrl + C pour copier du texte dans le classeur contenant la macro. Pour profiter de l’option Touche de raccourci, cliquez dans le champ Touche de raccourci, appuyez sur la touche Maj, et appuyez également sur une touche de l’alphabet telle que la lettre S. Vous aurez créé le raccourci clavier Ctrl + Maj + S, qui n’interférera pas avec l’un des principaux raccourcis clavier intégrés d’Excel.
La liste déroulante Enregistrer la macro dans permet de sélectionner le classeur dans lequel la macro sera enregistrée. Si vous sélectionnez Classeur de macros personnelles, la macro sera enregistrée dans un classeur caché spécial dans lequel les macros sont stockées. Ce classeur est toujours ouvert, bien qu’il soit masqué, et les macros qui y sont enregistrées sont disponibles pour d’autres classeurs. Pour afficher votre classeur de macros personnelles, allez dans l’onglet Affichage et dans le groupe Fenêtre, cliquez sur le bouton Afficher. Si vous sélectionnez Ce classeur dans la liste déroulante (c’est-à-dire le choix proposé par défaut par l’ordinateur), la macro sera enregistrée sur une nouvelle feuille du module dans le classeur actif et si vous sélectionnez Nouveau classeur, elle sera enregistrée dans un nouveau classeur.
4. En mode d’enregistrement macro (Figure. 3), allez dans Feuil2 (le pointeur est placé sur la cellule A1).

Figure 3 : Mode d’enregistrement de macro

5 Cliquez sur le bouton Arrêter l’enregistrement situé dans le groupe Code sous l’onglet Développeur pour arrêter l’enregistrement de la macro.
6. Enregistrez votre classeur dans un format qui prend en charge les macros : allez dans l’onglet Fichier du ruban et sélectionnez Enregistrer sous. Dans la fenêtre Enregistrement du document qui s’ouvre (Figure 4), sélectionnez un emplacement pour le classeur en le spécifiant dans la partie supérieure de la fenêtre, entrez le nom du classeur et dans le champ Nom de fichier, sélectionnez également le format Classeur Excel dans la zone de liste déroulante Modèle Excel (prenant en charge les macro). Cliquez sur le bouton Enregistrer.
Figure 4 : Enregistrer un classeur Excel prenant en charge les macros

7 Allez dans l’onglet Développeur et dans le groupe Code cliquez sur le bouton Macros et dans la fenêtre Macro qui s’ouvre, sélectionnez le nom de la macro créée dans la liste (Figure 5) et cliquez sur le bouton Modifier.

Figure 5 : Fenêtre de macro pour un classeur ouvert

L’écran affichera la fenêtre de l’éditeur VBA avec le module standard activé, qui contiendra le code de la macro qui vient d’être enregistrée.

Sub ActiverFeuil2()

'

' ActiverFeuil2 Macro

'

'

    Sheets("Feuil2").Select

End Sub

Commentaires

■ Une macro commence par l’instruction Sub et s’achève par l’instruction End Sub. Nous entrerons plus en profondeur sur la structure des macros dans les prochains chapitres.

■ ActiverFeuil2() est le nom de la macro.

■ L’instruction Sheets(“Feuil2”).Select est le corps de la macro.

8 Maintenant, sans fermer ce classeur, créez un autre classeur en accédant à l’onglet Fichier du ruban, sélectionnez la commande Nouveau et dans le groupe Modèles disponibles, sélectionnez Nouveau Classeur.
9. Accédez à l’onglet Développeur du ruban et dans le groupe Code, cliquez sur le bouton Macros.
10. Dans la fenêtre Macro qui s’ouvre (Figure 2.6), spécifiez le Nom de la macro créée et cliquez sur le bouton Exécuter. Assurez-vous que dans votre classeur cette macro a activé Feuil2.

Figure: 6. Fenêtre macro

Affecter une macro crée à un bouton

Eh bien, maintenant affectons notre macro créée à un bouton, que nous placerons sur le panneau d’accès rapide. Ainsi, effectuons les étapes suivantes :
1. Faites un clic droit dans la barre d’outils d’accès rapide et sélectionnez Autres commandes… (Figure 7)

Figure 7 : barre d’outils d’accès rapide

2 Dans la fenêtre Options Excel qui s’ouvre, dans la catégorie Barre d’outils d’accès rapide, sélectionnez l’objet Macros dans la zone de liste déroulante Choisir les commandes dans les catégories suivantes (Figure 8).

Figure 8 : Sélection de l’objet Macros dans la fenêtre Options Excel sous la catégorie Barre d’outils Accès rapide

3 Sélectionnez la macro ActiverFeuil2 que vous avez créée dans la colonne de gauche et utilisez le bouton Ajouter >> pour la déplacer vers la colonne de droite. Notez que le bouton Modifier est désormais disponible en bas de la colonne de droite : il sert à affecter le bouton à la macro correspondante. Cliquez sur le bouton Modifier.
4. Dans la fenêtre Modifier le bouton qui s’ouvre (Figure 2.9), spécifiez le symbole du bouton avec la souris et, si nécessaire, dans le champ Nom d’affichage, modifiez le nom de la macro, qui sera une info-bulle dans la barre d’outils d’accès rapide. Cliquez sur OK.
Figure 9 : Changer la fenêtre du bouton

Figure: 10. Bouton pour une macro dans la fenêtre Options Excel sous la catégorie Barre d’outils Accès rapide

5. Dans la fenêtre Options Excel de la catégorie Barre d’outils d’accès rapide, le bouton de la macro s’affiche dans la colonne de droite (Figure 10). Cliquez sur OK.
6. Assurez-vous que le bouton avec la macro enregistrée apparaît dans la barre d’outils d’accès rapide.

Figure 11 : Bouton de la macro créée dans la barre d’outils d’accès rapide

Automatiser le travail des feuilles de calcul avec des contrôles
Excel dispose également d’un ensemble complet de divers contrôles : bouton de commande, zone de texte, case à cocher, etc., qui, si nécessaire, sont placés sur la feuille de calcul. Pour voir la liste des contrôles disponibles, accédez à l’onglet Développeur et dans le groupe Contrôles, cliquez sur le bouton Insérer.
Figure 12 : Collection de contrôles dans Microsoft Office Excel

Il convient de noter que les contrôles situés dans le groupe Contrôles de formulaire sont principalement destinés à garantir la compatibilité avec les fichiers d’anciennes versions d’Excel (jusqu’à Excel 97) qui utilisent ces contrôles. Ils ont beaucoup moins de capacités que les contrôles situés dans le groupe de contrôles ActiveX. Certains de ces éléments ne peuvent pas du tout être utilisés dans les documents Excel récents (zone de texte, zone de liste, zone de liste déroulante). Cependant, ces contrôles présentent également un certain nombre d’avantages que les contrôles situés dans le panneau Contrôles ActiveX n’ont pas – en particulier, ces contrôles peuvent être placés sur des feuilles de graphique.
Les contrôles ActiveX sont des composants indépendants de diverses applications et peuvent également être utilisés dans Microsoft Excel. Ce groupe comprend également des contrôles similaires à de nombreux contrôles du groupe Contrôles de formulaire (UserForm).
En plus des commandes standard, vous pouvez utiliser des commandes supplémentaires. Excel est livré avec un certain nombre de ces éléments, par exemple, des contrôles multimédias, avec lesquels vous pouvez lire du son ou une vidéo directement à partir de la feuille de calcul. De plus, il est possible de connecter des contrôles qui sont utilisés dans d’autres programmes, ou des contrôles créés séparément.

Dans le module de feuille de calcul, vous pouvez créer des procédures qui gèrent certains événements qui se produisent avec des contrôles. Par exemple, appuyer sur un bouton, sélectionner un élément de la liste, sélectionner une case d’option, définir une case à cocher, etc. conduira automatiquement à un calcul, à la construction de diagrammes ou à la modification de leur type, etc. Nous allons ici donner juste un petit exemple d’utilisation du contrôle Bouton de commande (CommandButton), ainsi que l’événement Click qui lui est associé, qui est généré lorsque le bouton est enfoncé.

Utilisation du contrôle Bouton de commande sur une feuille de calcul
Nous allons présenter un exemple de l’utilisation du contrôle de commande du groupe Contrôles ActiveX sur une feuille de calcul. Supposons que lorsque nous cliquons sur le bouton de commande, que nous placerons sur la feuille de calcul Feuil1, l’activation de la feuille de calcul Feuil2 sera effectuée.
1. Démarrez Excel et assurez-vous que le pointeur de cellule se trouve sur la feuille de calcul Feuil1.
2. Accédez à l’onglet Développeur et dans le groupe Contrôles, cliquez sur la zone de liste déroulante Insérer.
3. Cliquez sur le contrôle bouton de commande (CommandButton) du groupe Contrôles ActiveX et accédez directement à la feuille de calcul, le pointeur se transforme en une croix fine.

4 Sélectionnez un emplacement sur la feuille de calcul, appuyez sur le bouton gauche de la souris et, sans le relâcher, dessinez un bouton de la taille requise, puis relâchez le bouton de la souris. Notez qu’après l’apparition du bouton de commande dans la feuille de calcul, le bouton Mode Création est activé.

Figure 13 : Le bouton Mode Création activé

Sur la surface du premier bouton de commande que vous avez, l’inscription CommandButton1 sera automatiquement affichée (Figure 14). Si vous créez maintenant un deuxième bouton de commande (CommandButton), alors CommandButton2 sera affiché sur sa surface, et ainsi de suite.

Figure 14 : Contrôle des boutons et fenêtre Propriétés

5 Cliquez sur le bouton de commande créé avec le bouton droit de la souris et dans le menu contextuel qui apparaît, sélectionnez la commande Propriétés pour ouvrir la fenêtre Propriétés (voir Figure 14). Le contrôle bouton de commande est un objet, c’est-à-dire qu’il possède, comme tout objet, des propriétés, des méthodes et des événements.

Le nom (légende) affichée sur la surface du contrôle Bouton de commande est définie par la valeur de la propriété Caption. En outre, le contrôle Bouton commande possède une propriété Name qui l’identifie en tant qu’objet dans le code. Dans ce cas, il est aussi égal à CommandButton1. Dans la fenêtre Propriétés ouverte, modifiez la valeur de la propriété Caption, c’est-à-dire la légende affichée sur la surface du contrôle Bouton de commande, de CommandButton1 à Feuil2 (afin de souligner que ce bouton activera la feuille de calcul Feuil2). Si vous le souhaitez, testez les propriétés suivantes du contrôle Bouton de commande : BackColor, Font, ForeColor, Shadow. Fermez enfin la fenêtre Propriétés.

6 Nous allons maintenant créer le code de la procédure qui gère l’événement “clic de bouton”. Suite au traitement de cet événement, la feuille de calcul Feuil2 doit être activée. Double-cliquez sur le bouton de commande créé (rappelez-vous que le bouton Mode Création dans le groupe Contrôles de l’onglet Développeur est enfoncé). Ainsi l’éditeur VBA s’ouvre avec le module feuille de calcul activé (Feuil1), dans lequel les première et dernière instruction de procédure de traitement ont été automatiquement ajoutées :

Private Sub CommandButton1_Click()

End Sub

■ Ouvrez le fichier du système d’exploitation Windows dans lequel vous avez créé la macro ActiverFeuil2; vérifier que le module requis est affiché dans la fenêtre Projet – VBAProject; copiez les instructions de la macro dans le presse-papiers:

Sheets(“Feuil2”).Select
Bien sûr, vous auriez pu saisir ces instructions à la main. Cependant, cela est plutôt lent et se heurte à l’apparition de fautes d’orthographe aléatoires qui surviennent inévitablement lors de la saisie de code. La procédure de gestion de l’événement “clic sur un bouton”, au cours duquel la feuille de calcul Feuil2 sera activée.

Private Sub CommandButton1_Click()
    Sheets("Feuil2").Select
End Sub

7 Revenez à la feuille de calcul Feuil1. Le bouton créé gère l’événement seulement après avoir quitté le Mode de création. Par conséquent, désactivez le Mode création en cliquant sur le bouton Mode de Création situé dans le groupe Contrôles de l’onglet Développeur du ruban.

8 Testez le contrôle Bouton de commande créé : cliquez dessus et si vous avez tout fait correctement, il activera la feuille de calcul Feuil2.

 

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x