Introduction à VBA

NOTE: Si vous tentez d‘apprendre VBA pour Excel et que vous ne connaissez pas les formules SOMMEPROD et les formules INDEX/EQUIV d‘Excel, vous risquez de dépenser beaucoup d‘énergie pour réinventer la roue.

VBA (Visual Basic for Applications) est une implémentation de Microsoft Visual Basic inégrée à toutes les applications de Microsoft Office.

Microsoft Visual Basic est un langage de programmation orienté objet, qui permet d‘écrire des applications autonomes, c‘est-à-dire qu‘on peut exécuter en «double cliquant» sur un fichier.

C‘est un langage comme C++ ou Java, composé d‘objets, de propriétés, de méthodes, d‘événements, d‘instructions et de fonctions (On expliquera tous ces termes un peu plus loin dans ce cours).

VBA, bien que dérivé de Visual Basic, reste cependant moins puissant que VB (on ne peut pas créer d‘application autonome par exemple), mais il hérite des fonctionnalités de l‘application dans laquelle on l‘utilise (Excel, Access, Word, Powerpoint, ...).

En d‘autres termes, VB est un langage pour concepteurs de programmes alors que VBA est un langage pour concepteurs d‘applications dans les programmes (Excel, Access, etc.).

Les fonctions et instructions sont les mêmes mais les objets, propriétés et méthodes diffèrent sensiblement.


Pour utiliser VBA, il faut donc ouvrir à partir de l‘application associée (ici on va se focaliser sur Excel), une interface dédiée avec ses propres menus et ses barres d‘outils.


VBA pour Excel, à ses débuts, servait principalement à automatiser des tâches répétitives. Ces tâches, qu‘on appelle aussi commandes, se nomment macro-commandes d‘où le nom MACROS.

VBA étant un langage de programmation à part entière, il permet de développer des applications dans les applications en créant des PROCÉDURES .


Pour bien programmer en VBA il est essentiel de bien écouter les besoins de l‘utilisateur pour qui vous développez.

Programmer en VBA pour Excel ne constitue que 25% du travail en général, les autres 75% sont occupées à comprendre le client et à concevoir le classeur dans lequel le programme fonctionnera.