Quotidien Shaarli

Tous les liens d'un jour sur une page.

November 5, 2021

excel-vba — Comment appeler une macro à partir d'un bouton et passer des arguments

Besoin :

Je veux ajouter un bouton à ma feuille de calcul Excel qui devrait appeler une macro pouvant gérer un agument.

Démarche :

Dans la fenêtre "Attribuer une macro" (cliquez avec le bouton droit sur l'objet et sélectionnez "Attribuer une macro"):

  • Mettez le nom de la macro entre guillemets simples, par exemple pour passer 2 constantes: 'Button1_Click("A string!", 7)'
  • Sélectionnez "Ce classeur" pour le champ "Macros dans"
  • Si vous souhaitez passer une variable (comme la valeur d'une cellule), placez le paramètre dans Evaluate ()

Par exemple, pour transmettre la valeur de Sheet1!$A$1 à une fonction de bouton, vous auriez le texte suivant dans le champ 'Nom de la macro:':
Button1_Click(Evaluate("Sheet1!$A$1"))