Introduction
Notions fondamentales du VBA
OBJECTIF DU VBA
-> Automatiser les actions répétitives-> Créer des formulaires personnalisés
-> Modifier Excel (ou tout autre application Office)
-> Communiquer avec d'autres applications.
Une macro : une série d'action écrite en VBA. Jusqu'à la version 5 d'Excel, une macro était une feuille avec une liste de fonction. Depuis la version 97, c'est un vrai langage de programmation en anglais.
UN TRONC COMMUN
• Visual Basic commercialisé avec Microsoft Visual Studio• Visual Basic .NET commercialisé; avec Visual Studio .Net
• Visual Basic for Applications - VBA - (le grand frère) pour le pack Microsoft Office.
• Visual Basic Script - VB Script - (le petit frère) pour les pages web côté client ou les scripts d'administrateur réseau (ouverture de session, création d'e-mail)
Le + d'Excel et Word : l'enregistreur de macro (Mais sous Word la souris ne sert à rien). Attention : pas de retour sur les macros (pas de ctrl + Z).
Historique
Depuis juillet 2007, Microsoft ne distribue plus de licences VBA à ses nouveaux clients. Microsoft essaye de remplacer VBA par Visual Studio Tools for Applications (VSTA), un toolkit de customisation d'application basé sur la plateforme .NET (Framework DotNet). Le pack Office continue à utiliser l'ancien moteur VBA, cependant, Visual Studio Tool pour Office (VSTO) est disponible. Ce complément de Visual Studio permet de développer facilement de véritables applications .net, directement à l'interieur d'un document Office.
Depuis juillet 2007, Microsoft ne distribue plus de licences VBA à ses nouveaux clients. Microsoft essaye de remplacer VBA par Visual Studio Tools for Applications (VSTA), un toolkit de customisation d'application basé sur la plateforme .NET (Framework DotNet). Le pack Office continue à utiliser l'ancien moteur VBA, cependant, Visual Studio Tool pour Office (VSTO) est disponible. Ce complément de Visual Studio permet de développer facilement de véritables applications .net, directement à l'interieur d'un document Office.
A partir de Microsoft EXCEL 2007
Il est à noter que la version d'Excel importe peu sous VBA. Pour une utilisation rapide à partir d'Excel 2007, utilisez l'Onglet Affichage > bouton Macros (à droite du ruban).Cependant, depuis Excel 2007, les fonctionnalités accessiblent jusque là par le menu Outils / Macros, se retrouvent dans l'onglet "Développeur" qui n'est pas affiché par défaut. Pour afficher cet onglet, cliquez sur le bouton Office, puis sur le bouton "options Excel". Dans Standard, activez la case à cocher "Afficher l'onglet Développeur dans le ruban". De plus, un fichier Excel comportant une macro doit être enregistré sous... l'extention xlsm, soit monfichier.xlsm
Migration VBA dans OpenOffice
Pour ses macros, OpenOffice.org utilise l'ancien langage BASIC (à l'origine de VBA). Il existe donc une certaine correspondance entre les deux langages mais le code VBA d'Excel n'est pas compatible dans OpenOffice et, malheureusement, il n'existe à ce jour - avril 2010 - aucun véritable outil de conversion d'un langage à un autre. Seule la version Novell d'OpenOffice (gratuite) possède un interpréteur (payant!) qui est capable d'exécuter une partie des macros VBA d'Excel.DEFINITIONS
Projet : à chaque classeur ouvert dans Excel est associé un projet.Module : contient les macros, procédures et fonctions.
Procédure : sous-programmes (qui commence par Sub).
Fonction : procédures retournant une valeur.
ECRIRE DU CODE VBA
Deux possibilités :◊ De façon automatisé, avec l'enregistreur de macro,
◊ Ou en saisie manuel dans l'environnement Visual Basic Editor (ALT + F11).
Que l'on utilise l'une ou l'autre possibilité, les macros sont toujours écrites dans l'éditeur VB. On peut donc naviguer d'une technique à une autre.
Note: La correspondance des fonctions VBA (Français -> Anglais)
se trouve dans le classeur C:\Program Files\Microsoft Office\OFFICE11\1036\VBALIST.XLS
> Télécharger le support de cours