<< Retour au sommaire

 

INTRODUCTION AU LANGAGE VBA

 

 

 

Table des matières

  1. Introduction ;
  2.  Avant d’attaquer WORD et EXCEL, une présentation d’Access ;
  3. Qu’est-ce que le binaire ?

 

 

Introduction

 

Le VBA est un langage de programmation dérivé du BASIC, il s’agit de l’abréviation de :

« VISUAL BASIC For APPLICATIONS ».

Le BASIC équipait dès le milieu des années 1970 pratiquement tous les micro-ordinateurs. Aujourd’hui, de nombreux langages de programmation découlent du BASIC, dans le domaine public, les plus connus sont le VISUAL BASIC, le Purebasic, Le VBScript et le VBA.

 

Un langage de programmation est un ensemble d’instructions que l’on écrit dans un document texte appelé fichier source. Le fichier source, une fois élaboré, donnera naissance à un fichier exécutable appelé un programme, ou une application.

Cette opération de conversion du fichier source au fichier exécutable, c’est-à-dire vers un programme, est appelée une compilation.

En clair, nous rédigeons des ordres dans un fichier source, ensuite, nous le compilons afin que le compilateur le transforme en un fichier exécutable, un fichier en mesure de fournir les instructions désirées à WINDOWS.

Dans de nombreux cas, les fichiers sources et exécutables ont le même nom, seule l’extension change.

Dans un fichier source, vous saisissez les différentes opérations informatiques devant être réalisé par l’ordinateur. Vous écrirez votre programme dans un langage accessible à l’homme, dans un langage que l’on qualifiera de langage évolué.

L’ordinateur, cependant, bien plus primaire que l’homme, sera dans l’incapacité de déchiffrer le contenu de votre fichier source que vous aurez élaboré dans ce langage évolué.

Un ordinateur, un programmateur de lave linge, un répondeur téléphonique, un lecteur DVD de salon  ainsi que tous les autres appareils utilisant des composants électroniques, ne fonctionnent qu’à partir d’impulsions électriques qui circulent en permanence dans le mécanisme. Ce mécanisme répond aux ordres d’un logiciel appelé le système d’exploitation.

Dans notre cas, le système d’exploitation utilisé est WINDOWS.

WINDOWS va donc jouer le rôle de pilote entre vos désires et le mécanisme de la machine.

Malheureusement, en programmation, WINDOWS n’est pas en mesure de déchiffrer le langage évolué que l’homme utilise.

WINDOWS comprend assez facilement des ordres qui ressemblent à ceci :

0001 11 0101 10101.

C’est normal, pour se faire comprendre de l’ordinateur, WINDOWS utilise un langage dit « le langage machine ».

Mais nous, les programmeurs, nous n’avons pas tellement envie d’écrire des applications dans ce langage-là.

C’est pourquoi, un certain nombre de logiciel nous permet d’écrire des programmes dans un langage évolué qu’il sera possible, en temps et en heure, de convertir en un langage machine, c’est-à-dire de procéder à l’opération de compilation.

 

En fait, quelques soit le langage de programmation utilisé, les étapes de programmation sont les suivantes :

  1. Écriture du programme dans un langage évolué ;
  2. Compilation du fichier source en un programme exécutable ;
  3. Exécution du programme par WINDOWS.

 

Les logiciels de langages de programmation vous proposent une fenêtre du genre traitement de texte dans laquelle vous allez pouvoir saisir votre programme en langage évolué. Cette fenêtre est appelée « éditeur ». C’est donc à partir d’éditeurs que vous écrirez toujours vos programmes, et ceux, quel que soit le langage de programmation.

 

Chaque langage de programmation possède son propre code.

Par exemple, selon le langage de programmation que vous utiliserez, voici plusieurs façons d’afficher « Bonjour » à l’écran :

 

En PHP : echo « Bonjour »;

 

Voilà, selon le langage de programmation choisi, les instructions ne correspondent pas tout à fait aux mêmes syntaxes.

Certains langages de programmation sont plus performants dans un domaine que d’autres, et inversement bien sûr.

Certains langages ont mêmes été développés uniquement à des fins pédagogiques, c’est le cas par exemple pour les langages de base du BASIC et du PASCAL.

Le VBA découle donc du BASIC de base…

MICROSOFT a intégré l’environnement de développement et d’exécution du VBA dans la majorité des logiciels du pack Office, et c’est le cas pour WORD,  EXCEL et ACCESS.

Dans ces manuels, nous allons surtout découvrir le VBA à travers WORD et EXCEL…

Il n’est pas forcément aisé, mais tout à fait possible d’exploiter l’éditeur VBA qui est intégré dans ces logiciels dans le but de créer des tâches sur des documents de type WORD, classeurs EXCEL etc.

En résumé, vous pouvez accéder à un éditeur VBA à partir de WORD, d’EXCEL et d’ACCESS.

 

Un outil intéressant d’ailleurs, est même mis à votre disposition.

Il s’agit des macros.

En effet, lorsque vous souhaitez automatiser une tâche dans l’un de ces logiciels, vous pouvez enregistrer un travail dans une macro.

Voici le principe global :

Durant votre travail dans WORD ou EXCEL, la fonction d’enregistrement de macros mémorise ce que vous êtes en train de réaliser dans ce que l’on appelle, une macro.

La macro se présente sous la forme d’instructions écrites en VBA.

Chacune des instructions donnent un ordre au logiciel…

D’ailleurs, à la fin de l’enregistrement, vous pouvez aller visualiser le code de votre macro et lui faire subir certaines améliorations en procédant à des rajouts de codes.

Donc, bonne nouvelle, il est concevable de découvrir le VISUAL BASIC à partir de WORD, d’EXCEL ou d’ACCESS, et c’est ce dont nous allons réaliser, ensembles, si vous le souhaitez.

 

Dans les manuel, je vais vous présenter tout cela dans WORD et EXCEL, toutefois, vous pouvez créer des programme dans ACCESS, donc, avant d’attaquer, je vais vous expliquer comment se positionner dans une situation de développement à partir d’ACCESS. Ensuite, nous ne reparlerons plus de ce logiciel… 

 

 


Avant d’attaquer WORD et EXCEL, une présentation d’Access

 

Voici comment préparer un fichier source pour débuter la saisie du premier code VBA :

Lancez ACCESS 2007 ou 2010.

Dans la première fenêtre, faites tabulation jusqu’à atteindre le lien « Base de données vide », et pressez la touche « Entrée ».

Un explorateur de documents apparaît à l’écran…

Choisissez le chemin de destination de la base, saisissez le nom de la base, par exemple, « 

Base Découverte », et pressez la touche « entrée » sur le bouton « Créer ».

Vous atterrissez dans la principale fenêtre d’ACCESS, il s’agit de l’espace de travail, la base de données est ouverte.

 

Maintenant, Nous allons afficher l’éditeur qui va nous permette de saisir notre code VBA.

Mais pour ce faire, nous devons créer un module !

Validez la commande du ruban :

ALT, Onglet « « Créer », « Autre » sous menu, « Module » bouton partagé, et « Module ».

Vous voici dans l’éditeur VISUAL BASIC…

Pour commencer, vous devez créer une procédure, nous ne pouvons pas écrire le code dans le vide, il doit impérativement se rattacher à un quelque chose d’exécutable, d’identifiable, avec un nom, un début et une fin.

Alors, validez la commande du menu déroulant :

ALT, « Insertion », « Procédure ».

Vous arrivez dans une zone d’édition, saisissez le nom de la procédure, par exemple, Départ, puis, pressez la touche « entrée ».

Vous voici de retour dans votre module, une procédure est en place…

Le code de début et de fin de procédure ont été insérés, le curseur est placé entre les deux lignes.

Vous pouvez maintenant saisir le code source.

 

A titre d’exemple, voici une ligne de code qui déclenchera l’exécution d’une fenêtre vous demandant votre nom :

InputBox ("Quel est votre nom ? ")

 

Puis

ALT, « Fichier », « Enregistrer ».

ACCESS vous demande alors le nom du module, saisissez par exemple : Mon module, et pressez la touche « entrée ».

 

Note :

Pour une histoire de sécurité, il se peut que l’exécution vous soit refusée, dans quel cas vous allez devoir autoriser l’exécution du module !

  1. Pour ce faire, veuillez malgré tout procéder à l’enregistrement du module.
  2. Ensuite, refermez l’éditeur VISUAL BASIC en validant la commande du menu déroulant :

ALT, « fichier », « Fermer et retourner à Microsoft Office Access », le raccourci clavier est ALT +Q.

  1. Désormais, dans l’espace de travail de la principale fenêtre D’Access, vous avez un bouton correspondant au nom de votre premier module. Pour l’ouvrir, il vous suffira de presser la touche « Entrée » sur celui-ci, mais pour l’instant, veuillez plutôt vous consacrer à l’autorisation de l’exécution de son contenu.
  2. Pour ce faire, activez le ruban avec ALT, puis activez la barre d’outils en réalisant le raccourci clavier CTRL +TAB.
  3. Dans la barre d’outils, faites tabulation jusqu’au bouton « Options » et pressez la touche « entrée ».
  4. Une fenêtre apparaît à l’écran, faites tabulation pour atteindre un bouton radio intitulé :

« Me protéger de tout contenu inconnu »

Alors, pressez flèche basse pour sélectionner le choix suivant :

Activer ce contenu ».

  1. Pour finir, faites tabulation jusqu’au bouton « Ok » et pressez la touche « Entrée ».

 

 

  1. Lancez ACCESS ;
  2. Dans la première fenêtre, vous arrivez dans un assistant, faites tabulation jusqu’à atteindre le nom de votre base de données et pressez la touche « Entrée », donc « Base Découverte », (si vous l’avez appelée ainsi, bien sûr) ;
  3. Votre base de données est ouverte…
  4. Dans l’espace de travail de la fenêtre principale, faites tabulation pour atteindre le bouton qui propose le nom du module et pressez la touche « Entrée » ;
  5. Le module est ouvert dans l’éditeur VISUAL BASIC…

 

Maintenant, passons aux choses sérieuses !

Pour débuter votre premier code, vous devez impérativement créer une procédure.

Une procédure est, pour la structure du programme, une sorte de paragraphe exécutable qui raconte un minimum de choses dans laquelle vous allez saisir du code VBA, des instructions.

Validez la commande du menu déroulant :

ALT, « Insertion », « Procédure ».

Une boîte de dialogue apparaît à l’écran…

Saisissez le nom de la procédure, par exemple, Départ, puis pressez la touche « entrée ».

Votre procédure est créée, votre curseur est directement placé entre la ligne de code de la déclaration de la procédure, et la ligne de code de la fin de la procédure. Vous pouvez désormais écrire votre propre code…

 

 


Qu’est-ce que le binaire ?

 

Voilà bien longtemps que vous entendez parler du binaire, non ?

 

Habituellement, lorsque nous comptons, nous utilisons 10 chiffres :

0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.

Comme nous avons 10 chiffres à notre disposition, alors, pour passer à la dizaine, nous avons 9 unités avant la dizaine…

Nous devons donc compter de la façon suivante :

1, 2, 3, 4, 5, 6, 7, 8, 9, nous passons à la première dizaine, 10.

11, 12, 13, 14, 15, 16, 17, 18, 19, nous passons à la deuxième dizaine, 20.

21, 22, 23, 24, 25, 26, 27, 28, 29, nous passons à la troisième dizaine, 30, etc.…

 

Pour l’instant je n’ai pas dû vous apprendre grand chose !

Enfin, je l’espère de tout cœur…

Cette manière de compter est appelée « décimal », elle correspond à la représentation des nombres en base 10.

Pourquoi base 10 ?

Parce que très logiquement, nous attendons d’atteindre la dixième valeur pour poser le 10…

 

Cependant, il existe d’autres façons de compter !

Par exemple le « binaire ».

Le binaire correspond à la représentation des nombres en base 2.

En clair, nous n’avons à notre disposition que 2 chiffres, le 0 et le 1, puisque nous devons poser une « dizaine » toutes les 2 unités !

Voici maintenant notre manière de compter :

0, 1, 10, 11, 100, 101, 110, 111, 1000 etc.

 

Vous voyez bien que là nous passons à la dizaine bien plus rapidement qu’avec le décimal !

Logique, nous sommes en base 2, nous passons à la dizaine toutes les 2 unités et donc, nous n’avons à notre disposition que 2 chiffres, le 0 et le 1.

C’est par conséquent une manière très efficace pour exprimer l’état des bits en informatique. En effet, un bit est un fil électrique, à un moment donné, il a du courant ou il n’en a pas…

S’il a du courant, on dit que le bit est à 1, s’il n’en a pas, on dit qu’il est à 0.

 

Un peu d’info sur l’hexadécimal ?

Eh bien, après le décimal et le binaire, pourquoi ne pas parler un peu de l’hexadécimal ?

Il est particulier celui-ci !

Il est même utilisé par notre mémoire vive en tant qu’adresse physique pour stocker nos infos…

L’hexadécimal est la représentation des nombres en base 16.

C’est-à-dire que cette fois, il faut atteindre l’unité 16 avant de poser la première dizaine… Dur dur ! En effet, nous ne disposons que de 10 chiffres, comment faire ?

Eh bien, nous allons devoir recourir aux lettres de l’alphabet…

Maintenant, nous comptons de la sorte :

1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, nous posons notre première dizaine, 10.

11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, nous posons notre deuxième dizaine, 20.

21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B, 2C, 2D, 2E, 2F, nous posons notre troisième dizaine, 30.

 

Un peu d’info sur l’octal ?

L’octal est une représentation des nombres en base 8.

Nous disposons donc cette fois-ci des chiffres de 1 à 7, le 8 étant la position depuis laquelle nous posons la première dizaine…

Vous êtes prêts à compter ?

1, 2, 3, 4, 5, 6, 7, nous posons la première dizaine, 10.

11, 12, 13, 14, 15, 16, 17, nous posons la deuxième dizaine, 20.

21, 22, 23, 24, 25, 26, 27, nous posons la troisième dizaine, 30.

Bien sûr, le 80 n’existe pas, après 77, nous passons directement à 100.

 

Bon, cet histoire de compter différemment ne doit sûrement pas vous empêcher de dormir, vous n’en aurez pas souvent besoin ! Mais le savoir ne vous fera pas de mal…

 

Philippe BOULANGER