Assigner une Macro à un bouton

Pour assigner une macro à un formulaire ou à un bouton de contrôle :
Vous pouvez utiliser un bouton contrôle de formulaire ou un bouton de commande (contrôle ActiveX) pour exécuter une macro qui effectue une action lorsqu’un utilisateur clique dessus. Ces deux boutons sont également appelés bouton poussoir, qui peuvent être configurés de manière à automatiser l’impression d’une feuille de calcul, le filtrage de données ou le calcul de nombres. En règle générale, le bouton contrôle de formulaire et le bouton de commande contrôle ActiveX sont similaires dans apparence et fonction. Toutefois, ils présentent quelques différences, qui sont décrites dans les sections suivantes.

Bouton (contrôle de formulaire)Exemple de contrôle de formulaire de bouton de la barre d’outils Bouton de commande (contrôle ActiveX)Exemple de contrôle ActiveX de bouton de commande

Dans les sections ci-dessous, vous allez découvrir comment ajouter une macro à un bouton dans Excel — pour Windows ou Mac.

Remarque : Les contrôles ActiveX ne sont pas pris en charge sur Mac.

Les macros et les outils VBA sont accessibles sous l’onglet développeur , qui est masqué par défaut.

La première étape consiste à l’activer. Pour plus d’informations, consultez l’article: afficher l’onglet Développeur.

Onglet Développeur du ruban

Ajouter un bouton (contrôle de formulaire)

  1. Sous l’onglet développeur , dans le groupe contrôles , cliquez sur Insérer, puis sous contrôles de formulaire, cliquez sur Image du bouton de bouton .
  2. Cliquez à l’emplacement de la feuille de calcul où vous souhaitez placer l’angle supérieur gauche du bouton. La fenêtre contextuelle affecter une macro apparaît.
  3. Affectez une macro au bouton, puis cliquez sur OK.
  4. Pour spécifier les propriétés du contrôle du bouton, cliquez avec le bouton droit sur celui-ci, puis cliquez sur format de contrôle.

Ajouter un bouton de commande (contrôle ActiveX)

  1. Dans l’ onglet Développeur , dans le groupe contrôles , cliquez sur Insérer, puis sous contrôles ActiveX, cliquez sur bouton de commande Image du bouton .
  2. Cliquez à l’emplacement de la feuille de calcul où vous souhaitez placer l’angle supérieur gauche du bouton de commande.
  3. Dans le groupe contrôles , cliquez sur visualiser le code. L’éditeur Visual Basic est lancé. Assurez-vous que Cliquer est sélectionné dans la liste déroulante située à droite. La sous-procédure CommandButton1_Click (voir la figure ci-dessous) exécute ces deux macros lorsque l’on clique sur le bouton: SelectC15 et HelloMessage.Sous-procédure dans Visual Basic Editor
  4. Dans la sous-procédure pour le bouton de commande, effectuez l’une des opérations suivantes:
    • Entrez le nom d’une macro existante dans le classeur. Vous pouvez rechercher des macros en cliquant sur macros dans le groupe code . Vous pouvez exécuter plusieurs macros à partir d’un bouton en entrant les noms des macros sur des lignes distinctes au sein de la sous-procédure.
    • Le cas échéant, ajoutez votre propre code VBA.
  5. Fermez Visual Basic Editor, puis cliquez sur mode création Image du bouton pour vérifier que le mode création est désactivé.
  6. Pour exécuter le code VBA qui fait désormais partie du bouton, cliquez sur le bouton de commande ActiveX que vous venez de créer.
  7. Pour modifier le contrôle ActiveX, assurez-vous d’être en mode Création. Sous l’onglet Développeur, dans le groupe Contrôles, activez le mode Création.
  8. Pour spécifier les propriétés du contrôle du bouton de commande, sous l’onglet développeur , dans le groupe contrôles , cliquez sur Propriétés Image du bouton . Vous pouvez également cliquer avec le bouton droit sur le bouton de commande, puis cliquer sur Propriétés.

    Remarque : Avant de cliquer sur Propriétés, vérifiez que l’objet dont vous souhaitez examiner ou modifier les propriétés est déjà sélectionné.

    La boîte de dialogue Propriétés s’affiche. Pour plus d’informations sur chaque propriété, sélectionnez la propriété voulue et appuyez sur F1 pour afficher une rubrique d’Aide de Visual Basic. Vous pouvez également taper le nom de la propriété dans la zone Rechercher dans l’aide de Visual Basic. Le tableau suivant récapitule les propriétés disponibles.

Si vous souhaitez spécifier Utilisez cette propriété
Général :
Si le contrôle est chargé lorsque le classeur est ouvert. (Ignoré pour les contrôles ActiveX.) AutoLoad (Excel)
Si le contrôle peut recevoir le focus et répondre aux événements générés par l’utilisateur. Enabled (Formulaire)
Si le contrôle peut être modifié. Locked (Formulaire)
Le nom du contrôle. Name (Formulaire)
Le mode d’attache du contrôle aux cellules sous-jacentes (flottant, déplacement sans dimensionnement ou déplacement avec dimensionnement). Placement (Excel)
Si le contrôle peut être imprimé. PrintObject (Excel)
Si le contrôle est visible ou masqué. Visible (Formulaire)
Texte :
Des attributs de police (gras, italique, taille, barré, souligné et épaisseur) Bold, Italic, Size, StrikeThrough, Underline, Weight (Formulaire)
Un texte descriptif au contrôle pour l’identifier ou le décrire Caption (Formulaire)
Le retour automatique à la ligne suivante du contenu du contrôle en fin de ligne. WordWrap (Formulaire)
Taille et position :
L’ajustement automatique de la taille du contrôle pour afficher l’ensemble du contenu. AutoSize (Formulaire)
La hauteur ou la largeur en points. Height, Width (Formulaire)
La distance entre le contrôle et le bord gauche ou le bord supérieur de la feuille de calcul. Left, Top (Formulaire)
Mise en forme :
La couleur d’arrière-plan. BackColor (Formulaire)
Le style d’arrière-plan (transparent ou opaque). BackStyle (Formulaire)
Une couleur de premier plan ForeColor (Formulaire)
Si le contrôle possède une ombre. Shadow (Excel)
Image :
Le bitmap à afficher dans le contrôle. Picture (Formulaire)
L’emplacement de l’image par rapport à sa légende (gauche, haut, droite et ainsi de suite). PicturePosition (Formulaire)
Clavier et souris :
Une touche de raccourci pour le contrôle. Accelerator (Formulaire)
Une icône de souris personnalisée. MouseIcon (Formulaire)
Le type de pointeur qui s’affiche lorsque l’utilisateur positionne la souris sur un objet particulier (standard, flèche, en I, etc.). MousePointer (Formulaire)
Si le contrôle prend le focus lorsque vous cliquez dessus. TakeFocusOnClick (formulaire)
Vous pouvez utiliser un bouton contrôle de formulaire ou un bouton de commande (contrôle ActiveX) pour exécuter une macro qui effectue une action lorsqu’un utilisateur clique dessus. Ces deux boutons sont également appelés bouton poussoir, qui peuvent être configurés de manière à automatiser l’impression d’une feuille de calcul, le filtrage de données ou le calcul de nombres. En règle générale, le bouton contrôle de formulaire et le bouton de commande contrôle ActiveX sont similaires dans apparence et fonction. Toutefois, ils présentent quelques différences, qui sont décrites dans les sections suivantes.

Bouton (contrôle de formulaire)Exemple de contrôle de formulaire de bouton de la barre d’outils Bouton de commande (contrôle ActiveX)Exemple de contrôle ActiveX de bouton de commande

Dans les sections ci-dessous, vous allez découvrir comment ajouter une macro à un bouton dans Excel — pour Windows ou Mac.

Remarque : Les contrôles ActiveX ne sont pas pris en charge sur Mac.

Les macros et les outils VBA sont accessibles sous l’onglet développeur , qui est masqué par défaut.

La première étape consiste à l’activer. Pour plus d’informations, consultez l’article: afficher l’onglet Développeur.

Onglet Développeur du ruban

Ajouter un bouton (contrôle de formulaire)

  1. Sous l’onglet développeur , dans le groupe contrôles , cliquez sur Insérer, puis sous contrôles de formulaire, cliquez sur Image du bouton de bouton .
  2. Cliquez à l’emplacement de la feuille de calcul où vous souhaitez placer l’angle supérieur gauche du bouton. La fenêtre contextuelle affecter une macro apparaît.
  3. Affectez une macro au bouton, puis cliquez sur OK.
  4. Pour spécifier les propriétés du contrôle du bouton, cliquez avec le bouton droit sur celui-ci, puis cliquez sur format de contrôle.

Ajouter un bouton de commande (contrôle ActiveX)

  1. Dans l’ onglet Développeur , dans le groupe contrôles , cliquez sur Insérer, puis sous contrôles ActiveX, cliquez sur bouton de commande Image du bouton .
  2. Cliquez à l’emplacement de la feuille de calcul où vous souhaitez placer l’angle supérieur gauche du bouton de commande.
  3. Dans le groupe contrôles , cliquez sur visualiser le code. L’éditeur Visual Basic est lancé. Assurez-vous que Cliquer est sélectionné dans la liste déroulante située à droite. La sous-procédure CommandButton1_Click (voir la figure ci-dessous) exécute ces deux macros lorsque l’on clique sur le bouton: SelectC15 et HelloMessage.Sous-procédure dans Visual Basic Editor
  4. Dans la sous-procédure pour le bouton de commande, effectuez l’une des opérations suivantes:
    • Entrez le nom d’une macro existante dans le classeur. Vous pouvez rechercher des macros en cliquant sur macros dans le groupe code . Vous pouvez exécuter plusieurs macros à partir d’un bouton en entrant les noms des macros sur des lignes distinctes au sein de la sous-procédure.
    • Le cas échéant, ajoutez votre propre code VBA.
  5. Fermez Visual Basic Editor, puis cliquez sur mode création Image du bouton pour vérifier que le mode création est désactivé.
  6. Pour exécuter le code VBA qui fait désormais partie du bouton, cliquez sur le bouton de commande ActiveX que vous venez de créer.
  7. Pour modifier le contrôle ActiveX, assurez-vous d’être en mode Création. Sous l’onglet Développeur, dans le groupe Contrôles, activez le mode Création.
  8. Pour spécifier les propriétés du contrôle du bouton de commande, sous l’onglet développeur , dans le groupe contrôles , cliquez sur Propriétés Image du bouton . Vous pouvez également cliquer avec le bouton droit sur le bouton de commande, puis cliquer sur Propriétés.

    Remarque : Avant de cliquer sur Propriétés, vérifiez que l’objet dont vous souhaitez examiner ou modifier les propriétés est déjà sélectionné.

    La boîte de dialogue Propriétés s’affiche. Pour plus d’informations sur chaque propriété, sélectionnez la propriété voulue et appuyez sur F1 pour afficher une rubrique d’Aide de Visual Basic. Vous pouvez également taper le nom de la propriété dans la zone Rechercher dans l’aide de Visual Basic. Le tableau suivant récapitule les propriétés disponibles.

Si vous souhaitez spécifier Utilisez cette propriété
Général :
Si le contrôle est chargé lorsque le classeur est ouvert. (Ignoré pour les contrôles ActiveX.) AutoLoad (Excel)
Si le contrôle peut recevoir le focus et répondre aux événements générés par l’utilisateur. Enabled (Formulaire)
Si le contrôle peut être modifié. Locked (Formulaire)
Le nom du contrôle. Name (Formulaire)
Le mode d’attache du contrôle aux cellules sous-jacentes (flottant, déplacement sans dimensionnement ou déplacement avec dimensionnement). Placement (Excel)
Si le contrôle peut être imprimé. PrintObject (Excel)
Si le contrôle est visible ou masqué. Visible (Formulaire)
Texte :
Des attributs de police (gras, italique, taille, barré, souligné et épaisseur) Bold, Italic, Size, StrikeThrough, Underline, Weight (Formulaire)
Un texte descriptif au contrôle pour l’identifier ou le décrire Caption (Formulaire)
Le retour automatique à la ligne suivante du contenu du contrôle en fin de ligne. WordWrap (Formulaire)
Taille et position :
L’ajustement automatique de la taille du contrôle pour afficher l’ensemble du contenu. AutoSize (Formulaire)
La hauteur ou la largeur en points. Height, Width (Formulaire)
La distance entre le contrôle et le bord gauche ou le bord supérieur de la feuille de calcul. Left, Top (Formulaire)
Mise en forme :
La couleur d’arrière-plan. BackColor (Formulaire)
Le style d’arrière-plan (transparent ou opaque). BackStyle (Formulaire)
Une couleur de premier plan ForeColor (Formulaire)
Si le contrôle possède une ombre. Shadow (Excel)
Image :
Le bitmap à afficher dans le contrôle. Picture (Formulaire)
L’emplacement de l’image par rapport à sa légende (gauche, haut, droite et ainsi de suite). PicturePosition (Formulaire)
Clavier et souris :
Une touche de raccourci pour le contrôle. Accelerator (Formulaire)
Une icône de souris personnalisée. MouseIcon (Formulaire)
Le type de pointeur qui s’affiche lorsque l’utilisateur positionne la souris sur un objet particulier (standard, flèche, en I, etc.). MousePointer (Formulaire)
Si le contrôle prend le focus lorsque vous cliquez dessus. TakeFocusOnClick (formulaire)