Accueil>Développement Excel>Qu’est-ce que le code VBA

Qu’est-ce que le code VBA, Visual Basic pour Application ?

La définition de VBA est Visual Basic pour Applications. Il s’agit d’un langage de programmation avec lequel vous pouvez contrôler et manipuler à la fois Excel et les autres applications Office : Word, Access, Outlook, Internet Explorer et d’autres logiciels.  Nous allons voir dans cet article

  • les différentes manières d’utiliser le langage VBA
  • qu’est-ce que sont les macros ?
  • les programmes qu’il est possible de contrôler avec le codage VBA
  • quand utiliser VBA ?
  • comment fonctionne la programmation VBA
  • quelle est la meilleur façon d’apprendre les bases de VBA ?
  • quelques notions essentielles de VBA

Les différentes manières d’utiliser la programmation VBA ?

VBA est généralement la langue la plus pratique pour travailler avec les applications Office Microsoft. La raison principale est que VBA est intégré aux applications Office et le code VBA est directement stocké  dans les fichiers : documents Word, classeurs Excel, base de données Access, présentations PowerPoint, votre interface Outlook.

Le code VBA permet deux approches:

  • Macro : il s’agit d’un enregistrement des opérations “manuelles”, à la souris ou au clavier, réalisées les unes après les autres. Ce sont les macros : enregistrement  séquentiel du traitement des données, de la modification des mises en forme, de l’ajout de formules …
  •  Processus complexes : Les programmes VBA peuvent aller bien au-delà des simples macros et contrôler des processus complexes. Des applications spécifiques peuvent être écrites en VBA, qui sont toujours basées sur les programmes Office. Par exemple, appliquer un traitement de décision (algorithme) en fonction des données Excel saisies et générer automatiquement des rapports, certificats, attestation, habilitations Word, PDF et l’envoi des résultats en mailing via Outlook. Vous pouvez tranformer Excel en une vraie application métier et même masquer l’interface habituelle d’Excel.

Qu’est-ce que sont les macros ?

L’enregistrement des tâches répétitives est sans aucun doute la raison la plus courante d’utiliser les macro VBA dans Microsoft Excel.

Une macro est créée en réalisant une séquence d’opérations « manuellement » et enregistrée et convertie automatiquement dans le langage VBA.

Pour une certaine génération qui réalisait des enregistrements de musique le soir sur leur cassette à partir de la musique FM, il s’agit ni plus ni moins du même principe, c’est-à-dire qu’il faut :

  • appuyer sur Rec pour lancer l’enregistrement,
  • faire les différents traitements que vous voulez répéter 
  • appuyer sur Stop.
  • mettre en place un système qui lance  la macro pour que le traitement enregistré se répète.

Pendant la phase d’enregistrement, les applications Microsoft enregistrent et transforment automatiquement en langage informatique les différents traitement réalisés (il s’agit de code VBA). C’est de l’IA (Intelligence Artificielle) avant l’heure.

Ce principe d’enregistrement de Macro peut être appliqué à différents logiciels.

Programmes qu’il est possible de contrôler avec VBA

VBA est intégré à toutes les principales applications MS Office : Word, Excel, Access, PowerPoint, Outlook.
VBA est également utilisé dans d’autres produits logiciels, tels qu’AutoCAD, SolidWorks, CorelDRAW, WordPerfec …

Pourquoi la suite bureautique Microsoft (Office) survit à de nombreuses solutions gratuites ? En fait, c’est cette possibilité de programmation qui offre des solutions infinies.

Quand utiliser VBA ?

Il est possible d’utiliser VBA pour la construction manuelle de fonctions et pour la création automatique de macros. En d’autres termes, lorsque nous enregistrons une macro, Microsoft Office écrit en interne un code dans VBA qui est celui qui effectue les opérations associées à la macro.
Par conséquent, connaître ce langage et ses possibilités donne l’opportunité d’étendre les fonctionnalités des applications Office en les personnalisant et en les adaptant à ses besoins.

Bien que Microsoft Excel soit un programme puissant pour l’édition, l’analyse et la présentation des données, il n’offre pas toujours la possibilité d’effectuer des opérations répétitives. Celles-ci peuvent être réalisés à l’aide de la programmation VBA (Visual Basic for Applications) . VBA est un langage de programmation basé sur l’exécution de macros. VBA vous ouvre des possibilités presque illimitées.

Le code VBA peut être rapidement produit et adapté à l’aide de l’ enregistreur de macros , mais vous devez vous poser les questions suivantes avant d’automatiser des tâches avec VBA:

  • Combien de temps la tâche prendra-t-elle si je la fais “manuellement” avec Excel ?
    Les tâches qui prennent beaucoup de temps en raison d’étapes de travail répétitives peuvent être effectuées plus rapidement avec VBA.
  • Est-ce une tâche ponctuelle ou se répète-t-elle ? Quelles est sa fréquence de répétition ? 1 fois par semaine / 1 fois par mois ?
    Avec des tâches quotidiennes, hebdomadaires ou mensuelles en particulier, vous pouvez  gagner beaucoup de temps en automatisant le traitement. et surtout ne pas avoir le sentiment de toujours faire la même chose. C’est bon pour la productivité et la motivation.
  •  VBA est-il le bon outil pour automatiser cette tâche ?
    Lorsqu’il s’agit de récupérer et de transformer des données à partir de différentes sources, Microsoft Access est le meilleur outil pour gérer les bases de données.
  • Faire l’automatisation en interne ou sous-traiter le développement VBA ?
    Si la tâche prend beaucoup de temps et que l’automatisation avec VBA a du sens, la question suivante se pose : Production en interne ou achat externe (fabrication ou achat) ?
    Des projets simples peuvent souvent être mis en œuvre rapidement par vous-même.
    Pour les projets complexes et étendus, il est conseillé de faire appel à un professionnel externe.
    Nous vous accompagnons pour la réalisation de vos projets. Vous nous contacter et nous déterminer comment nous pouvons collaborer.

Comment fonctionne la programmation VBA ?

Un projet VBA complet peut être considéré comme un puzzle avec beaucoup d’éléments. Chacune de ces briques effectue une opération spécifique, par exemple ouvrir un fichier, créer une nouvelle feuille de calcul, écrire une valeur dans des cellules, enregistrer un fichier, générer un pdf, envoyer automatiquement un mail en joignant le pdf en pièce jointe, gérer un retour de mail, etc. 

VBA existe depuis le milieu des années 1990, vous pouvez donc trouver de nombreux free sur Internet pour toutes les opérations standard imaginables. Vous pouvez les collecter et créer une solution à partir d’eux. Cependant, pour comprendre exactement ce que font les blocs de construction et pour les adapter à vos propres besoins, vous devez comprendre les bases de VBA et être capable de lire le code VBA.

QUELLE EST LA MEILLEURE FAÇON D’APPRENDRE LES BASES DE VBA ?

Pour commencer avec le VBA, il suffit de commencer à construire des macros Excel et faire des ajustements mineurs.

Mais si vous voulez aller plus loin. Il existe de nombreux tuto sur Internet et de code free qui répondent à votre besoin. Néanmoins pour franchir la première marche et ne pas perdre trop de temps, nous vous conseillons de suivre une formation. Cette formation vous permettra d’avoir les bases et ensuite de progresser via différents tutoriels.

Retrouvez nos différentes formations VBA : de l’initiation à l’accompagnement au développement d’applications.

La première étape consiste donc à suivre une formation. Nous vous proposons des formations dans votre entreprise en présentiel ou en visioconférences financées par vos organismes de formations.

QUELQUES NOTIONS ESSENTIELLES DE VBA : OBJETS, PROPRIETES ET METHODES ?

Excel et les autres programmes bureautiques sont constitués d’ objets que nous pouvons contrôler et manipuler.
Dans Microsoft Office ou MS Excel, des « objets » sont disponibles et peuvent recevoir des instructions. Un objet peut être : une cellule, une feuille de calcul, un classeur, un UserForm (formulaire). L’interaction avec l’application se produit en envoyant des instructions à ces objets. Il existe de nombreux objets différents qui sont flexibles et font ce que vous leur demandez de faire.

Le modèle d’objet diffère selon l’application (Excel, Access …).
Ces objets ont des méthodes et des propriétés .

Ils peuvent être modifiés en utilisant des propriétés telles que :

  • la taille
  • le nom
  • la position
  • la couleur
  • la police.

Avec des méthodes, c’est-à-dire certaines actions, des objets peuvent être créés, supprimés et sélectionnés …

En plus de ces objets, il existe également une partie générale du code VBA propre à toutes les applications. Il s’agit du langage de script Visual Basic for Applications (VBA), c’est-à-dire Visual Basic pour différentes applications. Il s’agit de :

  • la gestions des variables
  • l’utilisation des boucles,
  • les constructions conditionnelles
  • tout ce qui permet de construire des programmes et des algorithmes.