Macro-scripts VBA Excel
Les tableurs graphiques sont souvent utilisés pour saisir, présenter des données, des calculs. Ces actions peuvent être automatisées. Les formules et les divers composants sont une première étape vers une automatisation et peuvent par ailleurs être complémentaires avec d'autres automatisations (plages nommées, TCD, outil graphique...).
Excel propose un module nommé Macros
dans l'onglet Affichage
du ruban qui permet d'enregistrer une séquence d'actions pour être ensuite affectée à une action unique. Cette séquence (souvent des clics de souris sur des éléments d'une feuille de calculs) peut ensuite être appelée par un bouton, un raccourci clavier, un menu dédié... C'est un gain de temps qui peut être significatif et qui demande peu de temps dans l'implémentation.


Les macros sont également accessibles dans la forme d'un langage de programmation. Pour cet accès, le menu Développeur
doit être activé. L'activation de ce menu peut être de plusieurs façons différentes selon les versions d'Excel. Le raccourci clavier ALT et F11 simultanément permet également d'accéder directement à l'éditeur de scripts avec ou sans l'activation de l'onglet développeur dans le ruban.
Développeurdepuis le ruban

L'écran ci-dessus montre les options d'Excel 2010 pour les choix d'affichage des éléments du ruban.

Le menu développeur permet d'accéder à l'IDE de VBA ou l'interface Intégrée de Développement. Ce menu permet également d'accéder à des outils de type formulaire, ActiveX qui peuvent être utilisés indépendamment des scripts VBA par exemple avec des formules.

Ce dessous, la fenêtre de l'éditeur de script VBA. Cette fenêtre permet d'accéder aux instructions affectées aux macros enregistrées. Cette fenêtre permet également de modifier les macros enregistrées avec des instructions prédéfinies ou de créer des macros. Cette fenêtre permet la modification de macros existantes (par exemple des macros enregistrées) ou la création de macros.

L'écriture de macro avec le langage de script VBA apporte un plus grand contrôle sur les automatisations. En contrepartie, ce langage nécessite des connaissances spécifiques au niveau de la syntaxe et de la structure des instructions (collections d'objets, méthodes...).