Formation Excel et VBA

Premiers pas dans la programmation VBA pour Excel

Excel est un outil très puissant dont nous avons examiné dans notre cours spécifique toute l'étendue de ses possibilités. Mais derrière Excel ce cache un outil encore plus puissant qui permet de réaliser de véritables programmes permettant de simplifier d'une manière efficace et fiable nombre de tâches quotidiennes dans la gestion informatique des données d'une entreprise (ou même dans un usage domestique).
Nous allons découvrir à travers cette suite de cours comment utiliser VISUAL BASIC APPLICATION pour Excel 2016.


Où cet outil peut-il bien se cacher ?

Premiers pas dans la programmation VBA pour Excel
Par défaut l'outil n'est pas affiché dans les onglets proposés à l'ouverture d'excel !
Il faut ouvrir l'onglet fichier, le menu options puis le sous menu "personnaliser le ruban".
Dans la colonne de droite "onglets principaux" il faut cocher la case développeur et ce nouvel onglet s'affiche dans la barre de menu principale.
Fermons les options et allons voir un peu ce que contient ce nouvel onglet.

Les bases de la programmation VBA pour Excel

Nous allons nous intéresser dans un premier temps à la partie de l'onglet intitulée code et située à gauche dudit onglet, car y figure tout le nécessaire pour créer son premier programme.
Avant cela une information importante concernant la sécurité ; soyons clair l'utilisation de macro et de fonctions dans un fichier Excel peut s'avérer dangereuse lorsque le contenu du code nous arrive par un canal extérieur. Depuis les versions 2010, un fichier Excel contenant du code Visual Basic, pour pouvoir être utilisable est enregistré au format xlsm. Il n'est pas possible d'enregistrer un fichier contenant du code VBA au format xlsx classique.
Pensez-y quand vous enregistrez votre fichier avec du code VBA il faut enregistrer sous / classeur excel prenant en charge les macros.
Découvrons l'interface de l'outil en cliquant sur l'icône Visual Basic.

Nous voilà dans l'interface de travail de VBA

Dans la colonne de gauche un premier bloc d'informations avec ce que l'on va appeler les "objets" qui vont composer l'essentiel de notre travail ; et pour l'instant il n'y en a que deux :
Feuil1 (la feuille qui a été créée à la création du nouveau classeur) et ThisWorkbook qui est notre nouveau classeur. 
Un simple clic sur l'un ou l'autre de ces deux objets affiche dans le deuxième cadre la liste (simplifiée) des propriétés de cet objet.
Nous reviendrons au fur et à mesure du cours sur ces propriétés et la manière de les utiliser ou de les changer.
Si nous faisons un double clic sur Feuil1 par exemple, une page blanche s'affiche dans la zone de travail. C'est là que nous écrirons une partie de notre code.
Pour l'instant contentons-nous de réaliser un exemple de code automatique pour comprendre comment tout cela fonctionne.
Pour cela rendons-nous sur notre feuille Excel précédemment créée, en cliquant sur l'icône Excel en haut à gauche ou en tapant alt + F11.
 

Dans le cadre Code à gauche de l'onglet, il faut sélectionner le bouton enregistrer une macro (avec le rond rouge incrusté)

Le programme vous propose de lui donner un nom ; choisissez MaMacro1 par exemple (jamais d'espace dans le nom choisi et éviter les lettres accentuées).
Vérifiez que vous êtes bien dans l'option ce classeur pour l'enregistrement de la macro et faites OK.
Le bouton rouge en haut est devenu un carré bleu avec le texte "arrêter l'enregistrement".
A partir de là, tout ce que vous allez faire dans votre feuille va être enregistré sous forme de code dans l'espace Visual Basic.
Nous verrons plus tard les limites de cette méthode pour créer un vrai programme.
Saisissez Info1 dans la cellule A1 puis avec le petit carré en bas à droite de la cellule, faites un glissé vers le bas pour remplir une dizaine de cellules ...info2, info3 etc...
Puis sélectionnez B1 et tapez dedans réponse1 et faites la même manip vers le bas (réponse2...réponse10) puis C1 tapez 1 et faites pareil vers le bas en choisissant incrémenter une série (1,2,...10) et enfin sélectionnez D1 tapez 2 et descendez le 2 vers le bas (la colonne D n'aura donc que des 2).
Pour finir allez en E1 et tapez = puis sélectionnez C1 puis * puis sélectionnez D1 faites entrée. Faites glisser votre calcul vers le bas. puis arrêtez la macro.
Vous devriez avoir le tableau ci-dessous :
Premiers pas dans la programmation VBA pour Excel

Retournons voir ce qu'est devenu notre feuille blanche dans l'interface de Visual Basic (Alt + F11) ou Icône Visual Basic

Un nouvel objet s'est affiché dans le tableau de gauche intitulé module avec un plus à côté. un clic sur le plus et "module1" s'affiche ; un double clic sur module1 et dans notre page blanche s'affiche le code de notre programme qui devrait ressembler à l'image ci-dessous :
Vous avez écrit votre premier programme (enfin la machine a écrit...).
Nous reviendrons dans la prochaine leçon sur ces lignes de codes qui pour l'heure vous semblent sûrement incompréhensibles, mais avant cela nous allons faire une petite expérience.
 

 
Premiers pas dans la programmation VBA pour Excel

Retour sur notre feuille Excel (Alt + F11) après je ne le dirai plus.


Sélectionnez l'ensemble des cellules remplies précédemment et faites suppr pour tout effacer

Placez-vous sur une cellule quelconque de la feuille.
Cliquez sur l'icône Macros (à droite de celle de Visual Basic (ou Alt + F8)
La liste des macros disponibles s'affichent (pour l'heure il n'y a que la vôtre). Sélectionnez là et cliquez sur exécuter....
Voilà votre tableau reconstitué...Chaque fois que vous appellerez ce programme, la tâche sera exécutée sans erreur.
Pour finir d'agrémenter cette découverte du VBA nous allons créer sur la feuille deux boutons :
Un pour effacer notre tableau et l'autre pour le recréer.
D'abord créons une deuxième macro que nous appellerons MaMacroEffacer.
Lancer l'enregistrement puis sélectionnez la plage de cellules A1- E10
Faites Suppr et arrêtez la macro.
Vous pouvez consulter le code écrit qui est simple en regardant le contenu de Sub MaMacroEffacer()
Créons les boutons promis.
Dans la feuille Excel sous l'onglet développeur cliquez sur mode création (un triangle avec un crayon et une règle).
Puis juste à gauche Insérer et choisir le premier en haut à gauche "bouton" ; la souris devient une croix qui permet de tracer le rectangle du bouton.
Vous pouvez choisir le nom du bouton (BoutonCreer par exemple)  et vous double cliquez sur la macro de création du tableau MaMacro1.
Faites de même pour le bouton effacer.
Vous pouvez maintenant jouer à créer et effacer...
Pour conserver ce travail retour dans Excel et enregistrer sous le fichier (Classeur Excel prenant en charge les macros)...!

Dans la leçon 2 nous allons approfondir tout cela et écrire un premier programme directement dans l'interface de Visual Basic.
 
Passer maintenant à la leçon 2     >>>>>>