Tout d'abord, commençons à définir chacun
de ces termes et dressons un tableau comparatif du champ d'action
de chacun.
Macro
Programmation vba
Définition
La macro est le résultat d'un enregistrement des actions
opérées par un utilisateur sur un programme
donné.
Le vba (visual basic pour applications) est un langage
de programmation dérivé du Visual Basic.
C'est l'un des langages les plus accessibles aux débutants.
Interaction
avec l'utilisateur
Aucune : la macro retranscrira, par exemple, un texte
enregistré, à la virgule près.
Totale : c'est l'utilisateur qui interagit sur le
programme.
Type de programme
Linéaire : la macro est exécutée
dans son intégralité, depuis le début
jusqu'à la fin, sans aucune modification.
Evénementielle : le programme évolue
en fonction des choix de l'utilisateur (clic sur un bouton,
sélection dans une liste, valeur saisie au clavier...)
Difficulté de mise en oeuvre
Très facile
Complexe
Qualités nécessaires
Aucune
De la logique : savoir décomposer les tâches
en unité de base
De la patience : il vous arrivera presque immanquablement
que votre programme "buggue".
Des notions d'anglais sont préférables
mais pas indispensables.
Utilisation
Tâches répétitives. Ex : harmoniser
la présentation d'une série de documents comportant
des tableaux, action qui ne peut être résolue
par les styles, ni les modèles.
Aide à la rédaction de code VBA. La
macro génère en effet du code VBA qu'il
est possible de réutiliser dans le cadre d'un programme
plus sophistiqué. C'est souvent utile car il est difficile
de connaître par coeur toutes les fonctions offertes
par un logiciel tel que Word ou Excel.
Création d'applications sur mesure. Ex : programme
d'aide à la rédaction d'un courrier, programme
de tenue d'un registre des courriers recommandés...
Automatisation de tâches répétitives.
Alors, me direz-vous, comment qualifier ces lignes de code que
l'on trouve dans certaines revues informatiques : macro ou programme
? Honnêtement, peu importe puisqu''on les déclenche
de la même manière et qu'au final, seul le service
rendu compte.
Néanmoins, pour répondre à cette question,
il suffit simplement d'observer la macro : déclenche-t'elle
l'ouverture de boîtes de dialogue ? Vous demande-t'elle
de saisir un texte ou opérer une sélection ou de cliquer
sur un bouton ? Si la réponse à l'une de ces questions
est "oui", alors il s'agit d'un programme... Pourquoi
? tout simplement parce qu'à un moment donné, vous
intervenez durant le programme !