Vous pouvez utiliser un bouton de contrôle Formulaire ou un bouton de commande (un contrôle ActiveX) pour exécuter une macro qui effectue une action lorsqu’un utilisateur clique dessus. Ces deux boutons sont également appelés boutons pousseurs, qui peuvent être configurés pour automatiser l’impression d’une feuille de calcul, le filtrage des données ou le calcul de nombres. En général, un bouton de contrôle Formulaire et un bouton de commande de contrôle ActiveX sont similaires en apparence et en fonction. Toutefois, elles présentent quelques différences, qui sont expliquées dans les sections suivantes.
Bouton (contrôle Formulaire)
|
Bouton de commande (contrôle ActiveX)
|
Dans les sections ci-dessous, découvrez comment ajouter une macro à un bouton dans Excel pour Windows ou Mac.
Remarque : Les contrôles ActiveX ne sont pas pris en charge sur le Mac.
Les macros et les outils VBA se trouvent 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.
Ajouter un bouton (contrôle Formulaire)
-
Sous l’onglet Développeur , dans le groupe Contrôles , cliquez sur Insérer, puis sous Contrôles de formulaire, cliquez sur Bouton .
-
Cliquez sur l’emplacement de la feuille de calcul où vous souhaitez que le coin supérieur gauche du bouton apparaisse. La fenêtre contextuelle Affecter une macro s’affiche.
-
Affectez une macro au bouton, puis cliquez sur OK.
-
Pour spécifier les propriétés de contrôle du bouton, cliquez avec le bouton droit sur le bouton, puis cliquez sur Mettre en forme le contrôle.
Ajouter un bouton de commande (contrôle ActiveX)
-
Sous l’onglet Développeur , dans le groupe Contrôles , cliquez sur Insérer, puis sous Contrôles ActiveX, cliquez sur Bouton de commande .
-
Cliquez sur l’emplacement de la feuille de calcul à partir duquel vous souhaitez que le coin supérieur gauche du bouton de commande apparaisse.
-
Dans le groupe Contrôles , cliquez sur Afficher le code. Cette opération lance l’Rédacteur Visual Basic. Vérifiez que Click est sélectionné dans la liste déroulante à droite. La sous-procédure CommandButton1_Click (voir la figure ci-dessous) exécute ces deux macros lorsque vous cliquez sur le bouton : SelectC15 et HelloMessage.
-
Dans la sous-procédure du bouton de commande, effectuez l’une des opérations suivantes :
-
Entrez le nom d’une macro existante dans le classeur. Vous pouvez trouver 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 à l’intérieur de la sous-procédure.
-
Si nécessaire, ajoutez votre propre code VBA.
-
-
Fermez le Rédacteur Visual Basic, puis cliquez sur Mode Création pour vous assurer que le mode Création est désactivé.
-
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.
-
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.
-
Pour spécifier les propriétés de contrôle du bouton de commande, sous l’onglet Développeur , dans le groupe Contrôles , cliquez sur Propriétés . 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é.
Si vous souhaitez spécifier |
Utilisez cette propriété |
---|---|
Général : |
|
Indique si le contrôle est chargé lors de l’ouverture du classeur. (Ignoré pour les contrôles ActiveX.) |
AutoLoad (Excel) |
Indique 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) |
Type de pointeur affiché lorsque l’utilisateur positionne la souris sur un objet particulier (standard, flèche, faisceau I, etc.). |
MousePointer (Formulaire) |
Indique si le contrôle prend le focus lorsqu’on clique dessus. |
TakeFocusOnClick (Formulaire) |
Les macros et les outils VBA se trouvent sous l’onglet Développeur , qui est masqué par défaut. La première étape consiste donc à l’activer
-
Accédez à Excel > Préférences... barre d’outils & ruban >.
-
Dans la catégorie Personnaliser le ruban, dans la liste Onglets principaux, sélectionnez la zone Case activée développeur, puis cliquez sur Enregistrer.
Ajouter un bouton (contrôle Formulaire)
Procédez comme suit :
-
Sous l’onglet Développeur , cliquez sur Bouton .
-
Cliquez sur l’emplacement de la feuille de calcul où vous souhaitez que le coin supérieur gauche du bouton apparaisse. La fenêtre contextuelle Affecter une macro s’affiche.
Remarque : Si vous avez déjà inséré un bouton, vous pouvez cliquer dessus avec le bouton droit, puis sélectionner Attribuer une macro.
-
Affectez une macro au bouton, puis cliquez sur OK.
-
Pour spécifier les propriétés de contrôle du bouton, cliquez dessus avec le bouton droit, puis sélectionnez Formater le contrôle...
Ajouter un bouton de commande (contrôle Visual Basic)
-
Sous l’onglet Développeur , cliquez sur Bouton .
-
Cliquez sur l’emplacement de la feuille de calcul où vous souhaitez que le coin supérieur gauche du bouton de commande apparaisse.
Remarque : Si vous avez déjà inséré un bouton, vous pouvez cliquer dessus avec le bouton droit, puis sélectionner Attribuer une macro.
-
Dans la boîte de dialogue Affecter une macro, sélectionnez Nouveau pour ouvrir le Rédacteur Visual Basic (VBE) dans un volet avec le code suivant :
Sub ButtonX_Click() End Sub
-
Dans la sous-procédure du bouton de commande, entre les lignes Sub et End Sub , effectuez l’une des opérations suivantes :
-
Entrez le nom d’une macro existante dans le classeur. Vous pouvez exécuter plusieurs macros à partir d’un bouton en tapant les noms des macros sur des lignes distinctes à l’intérieur de la sous-procédure
-
Ajoutez votre propre code VBA.
-
-
Cliquez sur Mode Création pour vous assurer que le mode Création est désactivé, puis fermez la fenêtre Rédacteur Visual Basic.
-
Pour modifier le bouton, cliquez dessus avec le bouton droit et choisissez Visual Basic.
-
Pour spécifier les propriétés de contrôle du bouton, cliquez dessus avec le bouton droit, puis sélectionnez Formater le contrôle...
Vous avez besoin d’une aide supplémentaire ?
Vous pouvez toujours poser des questions à un expert de la Communauté technique Excel ou obtenir une assistance dans la Communauté de support.