Exécuter une macro

Il existe plusieurs moyens d’exécuter une macro (macro : action ou ensemble d’actions que vous pouvez utiliser pour automatiser des tâches. Les macros sont enregistrées dans le langage de programmation Visual Basic pour Applications.). Vous pouvez toujours procéder en utilisant une commande de menu. En fonction du mode d’affectation d’une macro, vous pouvez également exécuter la macro en utilisant un raccourci clavier (touche de raccourci : touche de fonction ou combinaison de touches, comme F5 ou Ctrl+A, qui vous permet d’exécuter une commande de menu. Diffère d’une touche d’accès rapide, qui est également une combinaison de touches, telle que Alt+F, mais qui sert à activer un menu, une commande ou un contrôle.) avec la touche Ctrl ou en cliquant sur un bouton de la barre d’outils ou une zone dans un objet, un graphique ou un contrôle. De même, vous pouvez exécuter une macro automatiquement à l’ouverture du classeur.

 Remarque   Lorsque vous définissez le niveau de sécurité des macros dans Microsoft Office Excel sur Désactiver toutes les macros sans notification, Excel n’exécute que les macros signées numériquement ou stockées à un emplacement approuvé, comme le dossier de démarrage d’Excel. Si la macro que vous souhaitez exécuter n’est pas signée numériquement ou qu’elle ne se trouve pas à un emplacement approuvé, vous pouvez modifier temporairement le niveau de sécurité qui active toutes les macros.

Pour plus d’informations sur la méthode à suivre pour modifier la sécurité des macros, voir Modifier les paramètres de sécurité des macros dans Excel.

Que voulez-vous faire ?


Exécuter une macro

  1. Si l’onglet Développeur n’est pas disponible, affichez-le de la manière suivante :
    1. Cliquez sur le bouton Microsoft Office Image du bouton, puis sur Options Excel.
  1. Dans la catégorie Standard, sous Meilleures options pour travailler avec Excel, activez la case à cocher Afficher l’onglet Développeur dans le ruban, puis cliquez sur OK.

 Remarque   Le ruban est un composant de l’Interface utilisateur Microsoft Office Fluent.

  1. Pour définir temporairement le niveau de sécurité de manière à activer toutes les macros :
  1. Sous l’onglet Développeur, dans le groupe Code, cliquez sur Sécurité des macros.

Image Ruban Excel

  1. Dans la catégorie Paramètres des macros, sous Paramètres des macros, cliquez sur Activer toutes les macros (non recommandé ; risque d’exécution de code potentiellement dangereux) et cliquez sur OK.

 Remarque   Pour empêcher du code potentiellement dangereux de s’exécuter, il est recommandé de revenir à l’un des paramètres qui désactive toutes les macros une fois que vous avez fini d’utiliser des macros. Pour plus d’informations sur la méthode à suivre pour modifier les paramètres, voir Modifier les paramètres de sécurité des macros dans Excel.

  1. Ouvrez le classeur qui contient la macro.
  2. Sous l’onglet Développeur, dans le groupe Code, cliquez sur Macros.
  3. Dans la zone Nom de la macro, cliquez sur la macro à exécuter.
  4. Effectuez l’une des actions suivantes :
  • Pour exécuter une macro dans un classeur Microsoft Excel, cliquez sur Exécuter.

 Conseil   Vous pouvez également appuyer sur les touches Ctrl+F8 pour exécuter la macro. Vous pouvez interrompre l’exécution de la macro en appuyant sur Échap.

  • Pour exécuter une macro dans un module Microsoft Visual Basic, cliquez sur Modifier et, dans le menu Exécuter, cliquez sur Exécuter Sub/UserFormImage du bouton ou appuyez sur la touche F5.

Haut de la page Haut de la page

Exécuter une macro en appuyant sur un raccourci clavier utilisant la touche Ctrl

  1. Si l’onglet Développeur n’est pas disponible, procédez comme suit pour l’afficher :
    1. Cliquez sur le bouton Microsoft Office Image du bouton, puis sur Options Excel.
  1. Dans la catégorie Standard, sous Meilleures options pour travailler avec Excel, activez la case à cocher Afficher l’onglet Développeur dans le ruban, puis cliquez sur OK.

 Remarque   Le ruban est un composant de l’Interface utilisateur Microsoft Office Fluent.

  1. Sous l’onglet Développeur, dans le groupe Code, cliquez sur Macros.

Image Ruban Excel

  1. Dans la zone Nom de la macro, cliquez sur la macro à affecter à un raccourci clavier utilisant la touche Ctrl.
  2. Cliquez sur Options.
  3. Dans le champ Touche de raccourci, entrez les lettres minuscules ou majuscules que vous souhaitez utiliser.

 Remarque   Le raccourci clavier remplace un raccourci clavier Excel par défaut lorsque le classeur contenant la macro est ouvert. Pour obtenir une liste des raccourcis clavier utilisant la touche Ctrl qui sont déjà affectés dans Excel, reportez-vous à la section Touches de raccourci et de fonction dans Excel.

  1. Dans la zone Description, tapez la description de la macro.
  2. Cliquez sur OK, puis sur Annuler.

Haut de la page Haut de la page

Exécuter une macro en cliquant sur un bouton de la barre d’outils Accès rapide

  1. Cliquez sur le bouton Microsoft Office Image du bouton, puis sur Options Excel.
  1. Cliquez sur Personnaliser et, dans la liste Choisir les commandes dans les catégories suivantes, sélectionnez Macros.
  2. Dans la liste, cliquez sur la macro que vous avez créée, puis sur Ajouter.
  3. Pour modifier l’image du bouton de la macro, sélectionnez la macro dans la zone où elle a été ajoutée, puis cliquez sur Modifier.
  4. Sous Symbole, cliquez sur l’image du bouton que vous souhaitez utiliser.
  5. Pour modifier le nom de la macro qui s’affiche lorsque vous positionnez le pointeur sur le bouton, dans la zone Nom complet, tapez le nom que vous souhaitez utiliser.
  6. Cliquez sur OK pour ajouter le bouton de macro dans la barre d’outils Accès rapide.

Barre d’outils Accès rapide

  1. Dans la barre d’outils Accès rapide, cliquez sur le bouton de macro.

Haut de la page Haut de la page

Exécuter une macro en cliquant dans une zone d’un objet graphique

  1. Dans la feuille de calcul, sélectionnez un objet graphique existant, par exemple une image, une image clipart, une forme ou un SmartArt.
  2. Pour créer une zone réactive dans l’objet existant, dans le groupe Illustrations de l’onglet Insertion, cliquez sur Formes, sélectionnez la forme désirée et tracez la forme sur l’objet existant.

Image Ruban Excel

  1. Cliquez du bouton droit sur la zone réactive que vous avez créée et sélectionnez Affecter une macro dans le menu contextuel (menu contextuel : menu qui affiche une liste de commandes appropriées pour un élément donné. Pour afficher un menu contextuel, cliquez avec le bouton droit sur un élément ou appuyez sur Maj+F10.).
  2. Effectuez l’une des actions suivantes :
    • Pour affecter une macro existante à l’objet graphique, double-cliquez sur la macro ou entrez son nom dans le champ Nom de la macro.
    • Pour enregistrer une nouvelle macro à affecter à l’objet graphique sélectionné, cliquez sur Enregistrer. Lorsque vous avez terminé l’enregistrement de la macro, cliquez sur Arrêter l’enregistrementImage du bouton sous l’onglet Développeur, dans le groupe Code.

 Conseil   Vous pouvez également cliquer sur Arrêter l’enregistrement Image du bouton à gauche de la barre d’état.

  • Pour modifier une macro existante, cliquez sur son nom dans la zone Nom de la macro, puis sur Modifier.
  1. Cliquez sur OK.
  2. Dans la feuille de calcul, sélectionnez la zone réactive.

 Conseil   La section Outils de dessin s’affiche et présente l’onglet Format.

Image Ruban Excel

  1. Dans le groupe Styles de formes de l’onglet Format, procédez comme suit :
    • Cliquez sur la flèche accolée à Remplissage de forme, puis sur Aucun remplissage.
    • Cliquez sur la flèche accolée à Contour de forme, puis sur Sans contour.

Haut de la page Haut de la page

Exécuter automatiquement une macro à l’ouverture d’un classeur

Si vous enregistrez une macro sous le nom « Auto_Open », elle sera exécutée à chaque ouverture du classeur qui la contient. Vous pouvez également exécuter une macro lorsque vous ouvrez un classeur pour écrire une procédure Visual Basic pour Applications (VBA) dans l’événement Open du classeur à l’aide de Visual Basic Editor (Visual Basic Editor : environnement dans lequel vous écrivez du nouveau code et des nouvelles procédures Visual Basic pour Applications ou modifiez du code et des procédures existants. Visual Basic Editor contient un ensemble complet d’outils de débogage qui permet de rechercher dans votre code les problèmes de syntaxe, d’exécution et de logique.). L’événement Open est un événement de classeur intégré qui exécute le code de sa macro chaque fois que vous ouvrez le classeur.

Créez une macro « Auto_Open »

  1. Si l’onglet Développeur n’est pas disponible, affichez-le de la manière suivante :
    1. Cliquez sur le bouton Microsoft Office Image du bouton, puis sur Options Excel.
  1. Dans la catégorie Standard, sous Utilisation d’Excel et des autres applications Office, cochez la case Outils du développeur et cliquez sur OK.
  1. Pour définir temporairement le niveau de sécurité de manière à activer toutes les macros :
  1. Sous l’onglet Développeur, dans le groupe Code, cliquez sur Sécurité des macros.

Image Ruban Excel

  1. Dans la catégorie Paramètres des macros, sous Paramètres des macros, cliquez sur Activer toutes les macros (non recommandé ; risque d’exécution de code potentiellement dangereux) puis sur OK.

 Remarque   Pour empêcher du code potentiellement dangereux de s’exécuter, il est recommandé de revenir à l’un des paramètres qui désactive toutes les macros une fois que vous avez fini d’utiliser des macros.

  1. Si vous souhaitez enregistrer la macro avec un classeur particulier, ouvrez d’abord ce classeur.
  2. Sous l’onglet Développeur, dans le groupe Code, cliquez sur Enregistrer une macro.
  3. Dans le champ Nom de la macro, entrez Auto_Open.
  4. Dans le champ Enregistrer la macro dans, sélectionnez le classeur dans lequel vous souhaitez stocker la macro.

 Conseil   Si vous voulez que la macro soit disponible chaque fois que vous utilisez Excel, sélectionnez Classeur de macros personnelles. Lorsque vous sélectionnez Classeur de macros personnelles, Excel crée un classeur de macros personnelles masqué (Personal.xlsb) s’il n’existe pas encore, et y enregistre la macro. Sous Windows Vista, ce classeur est enregistré dans le dossier C:\Users\nom d’utilisateur\AppData\Local\Microsoft\Excel\XLStart. Sous Microsoft Windows XP, ce classeur est enregistré dans le dossier C:\Documents and Settings\nom d’utilisateur\Application Data\Microsoft\Excel\XLStart. Les classeurs présents dans le dossier XLStart s’ouvrent automatiquement au démarrage d’Excel. Si vous souhaitez qu’une macro du classeur de macros personnelles soit exécutée automatiquement dans un autre classeur, vous devez également enregistrer ce dernier dans le dossier XLStart afin que les deux classeurs soient ouverts au démarrage d’Excel.

  1. Cliquez sur OK, puis effectuez les opérations à enregistrer.
  2. Sous l’onglet Développeur, dans le groupe Code, cliquez sur Arrêter l’enregistrement.Image du bouton

 Conseil   Vous pouvez également cliquer sur Arrêter l’enregistrement Image du bouton à gauche de la barre d’état.

 Remarques 

  • Si vous choisissez d’enregistrer la macro dans Ce classeur ou un Nouveau classeur à l’étape 6, enregistrez ou déplacez le classeur dans l’un des dossiers XLStart.
  • L’enregistrement d’une macro « Auto_Open » comporte les limites suivantes :
    • Si le classeur dans lequel vous enregistrez la macro « Auto_Open » contient déjà une procédure VBA dans son événement Open, la procédure VBA pour l’événement Open remplace toutes les actions dans la macro « Auto_Open ».
    • Une macro « Auto_Open » est ignorée lorsqu’un classeur est ouvert par le biais du code à l’aide de la méthode Open.
    • Une macro « Auto_Open » s’exécute avant que les autres classeurs s’ouvrent. Par conséquent, si vous enregistrez des actions que vous souhaitez qu’Excel réalise dans le classeur Book1 par défaut ou dans un classeur chargé à partir du dossier XLStart, la macro « Auto_Open » échoue lorsque vous relancez Excel car la macro s’exécute avant que les classeurs par défaut et de démarrage s’ouvrent.

Si vous rencontrez ces limites, au lieu d’enregistrer une macro « Auto_Open », vous devez créer une procédure VBA pour l’événement Open décrit dans la section suivante de cet article.

  • Si vous voulez qu’Excel démarre sans exécuter de macro Auto_Open, maintenez la touche Maj enfoncée lors du démarrage d’Excel.

Créer une procédure VBA pour l’événement Open d’un classeur

L’exemple ci-dessous utilise l’événement Open pour exécuter une macro lorsque vous ouvrez le classeur.

  1. Si l’onglet Développeur n’est pas disponible, affichez-le de la manière suivante :
    1. Cliquez sur le bouton Microsoft Office Image du bouton, puis sur Options Excel.
  1. Dans la catégorie Standard, sous Utilisation d’Excel et d’autres applications Office, cochez la case Outils du développeur et cliquez sur OK.
  1. Pour définir temporairement le niveau de sécurité de manière à activer toutes les macros :
  1. Sous l’onglet Développeur, dans le groupe Code, cliquez sur Sécurité des macros.

Image Ruban Excel

  1. Dans la catégorie Paramètres des macros, sous Paramètres des macros, cliquez sur Activer toutes les macros (non recommandé ; risque d’exécution de code potentiellement dangereux) puis sur OK.

 Remarque   Pour empêcher du code potentiellement dangereux de s’exécuter, il est recommandé de revenir à l’un des paramètres qui désactive toutes les macros une fois que vous avez fini d’utiliser des macros.

  1. Enregistrez et fermez tous les classeurs ouverts.
  2. Ouvrez le classeur auquel vous souhaitez ajouter la macro, ou créez un classeur.
  3. Sous l’onglet Développeur, dans le groupe Code, cliquez sur Visual Basic.
  4. Dans la fenêtre Explorateur de projets, cliquez avec le bouton droit sur l’objet ThisWorkbook, puis cliquez sur Visualiser le code.

 Conseil   Si la fenêtre Explorateur de projets n’est pas visible, dans le menu Affichage, cliquez sur Explorateur de projets.

  1. Dans la liste Objet au-dessus de la fenêtre Code, sélectionnez Classeur.

Cette opération crée automatiquement une procédure vide pour l’événement Open :

Private Sub Workbook_Open()

End Sub
  1. Ajoutez les lignes de code ci-dessous à la procédure :
Private Sub Workbook_Open()
    MsgBox Date
    Worksheets("Sheet1").Range("A1").Value = Date
End Sub
  1. Basculez vers Excel et enregistrez le classeur sous forme de classeur prenant en charge les macros (.xlsm).
  2. Fermez le classeur et rouvrez-le. Lorsque vous ouvrez de nouveau le fichier, Excel exécute la procédure « Workbook_Open », qui affiche la date courante dans un message.
  3. Cliquez sur OK dans la boîte de dialogue du message.

Notez que la cellule A1 de la feuille 1 contient elle aussi la date suite à l’exécution de la procédure « Workbook_Open ».

Haut de la page Haut de la page

 
 
S'applique à :
Excel 2007