Les correspondances entre macros VBA, macros Excel 4, fonctions de feuilles de calcul et API
Dans la mesure où
- les macro Excel4 ont été remplacées par les macros VBA,
- où les macros servent à automatiser des taches qui peuvent généralement être effectuées manuellement dans une page Excel
- et où les macros et fonctions Excel et VBA sont basées sur les fonctions contenues dans les dll,
on peut s'attendre à retrouver un grand nombre de fonctionnalités équivalentes entre les macros Excel4, les fonctions de feuilles de calcul, les macros VBA et les API.
De fait, un grand nombre d'opérations peuvent être réalisées indifféremment par les différentes approches.
Quel avantage y a-t-il à utiliser l'une ou l'autre méthode ?
D'abord, la simplicité plaide fortement en faveur de VBA.
VBA a justement été conçu pour faciliter la programmation : inutile d'effectuer de longues déclarations préliminaires, d'utiliser des Worksheetfunction ou des ExecuteExcel4Macro, Excel peut directement utiliser les instructions et les objets VBA.
Alors, pourquoi se préoccuper des macros Excel4, fonctions de feuilles de calcul et API ?
D'abord parce que VBA ne sait pas tout faire. Certaines fonctions de feuilles de calcul, certaines macro Excel4, probablement jugées peu utiles, n'ont pas été traduites en VBA. Et puis de nombreuses API qui ne sont pas directement relatives à Excel ne sont pas utilisées par VBA.
Une autre raison, c'est la vitesse d'execution. Les macros Excel4 tournent souvent plus rapidement que les macros VBA équivalentesn les fonctions de feuilles de calcul permettent souvent d'éviter de longues boucles. Et enfin, l'appel direct des API, qui sont à la base des autres fonctions et macros est d'execution plus rapide.
Conclusion, pour une programmation rapide et facile de taches simple, VBA est parfaitement adapté.
Pour une programmation optimisée avec des fonctionnalités avancées, les macros Excel4, fonctions de feuilles de calcul et API apportent d'intéressantes améliorations à VBA.
Les fonctions de feuilles de calcul
Les macros Excel 4
Les API
La fonction Excel4 FONCTION.APPELANTE