Il y a les macros "classiques", que l'on exécute manuellement, ou à l'aide d'un bouton.
Il y a les macros "événementielles", liée à la réalisation d'une action spécifique : ouverture du classeur, fermeture du classeur, impression, changement de sélection, etc. Pour celle-ci, l'utilisateur ne choisit pas de l’exécuter, autrement qu'en faisant ladite action. La syntaxe est plus stricte (on ne choisit pas le nom de la macro) et le code est placé dans un module spécifique (soit module de la feuille pour un événement liée à cette feuille, soit module ThisWorkbook pour le classeur complet).
Je vous invite à lire cette section : https://www.excel-pratique.com/fr/vba/evenements_classeur.php