VBA

De WikiDeveloppez.

Visual Basic pour Applications
VBA
Éditeur : Microsoft corp.
Dernière version : 6.5
Site officiel :
Environnements : Microsoft Windows
Mac OS
Langues : Multilingue


Sommaire

Présentation

Définition

VBA vient de Visual Basic for Applications

Le VBA est une version de Visual Basic 6 (VB6) présente dans les applications de la suite Office et de certaines applications partenaires.

Sa syntaxe est identique à celle de Visual Basic. A la différence de Visual Basic 6, VBA ne fonctionne pas seul et est obligatoirement utilisé au sein d'une application hôte. Vous trouverez les différences détaillées entre VB6 et VBA sur cette page.

Comment ça marche ?

VBA est un environnement de développement intégré (EDI) complet destiné à être intégré dans des applications hôtes, afin de procurer des fonctionnalités de programmation à l'utilisateur final.

Il comprend:

  • des outils de développement,
  1. un éditeur de code (avec technologie IntelliSense),
  2. un débogueur,
  3. un navigateur/explorateur de classes d'objets,
  4. un compilateur incrémental, combiné à une fenêtre d'exécution immédiate (très utile !);
  • Microsoft Forms qui fournit
  1. des outils intégrés à l'EDI pour la conception de fenêtres et de boîtes de dialogues,
  2. un ensemble de composants ActiveX graphiques;
  • le moteur d'exécution du langage VBA;
  • une bibliothèque de fonctions et de classes, souvent appelée '"bibliothèque VBA"';
(remarque: la bibliothèque VBA donne accès aux feuilles créées avec Microsoft Forms; cf. la collection UserForms)
  • des mécanismes de protection du code (mot de passe) et de sécurité (signature numérique du projet).


L'application doit fournir un Modèle d'Objet qui permet de la manipuler par programmation.

Par le truchement de ce Modèle d'Objet spécifique à l'application, il est possible d'agir sur l'application elle-même (exécution de commandes, gestion de l'affichage, manipulation de fenêtres, adaptation de l'IHM...), et aussi sur ses documents (création, modification).
La racine du Modèle d'Objet est toujours l'objet/classe Application.

(à faire: Automation)

Outils natifs du VBA

Outils de développement

VBA hérite de l'éditeur de code, du débogueur et de l'explorateur d'objet de VB6.

Microsoft Forms

Microsoft Forms procure à l'utilisateur des outils pour la conception de fenêtres ou de boîtes de dialogue: on parle de feuilles, ou encore d'objets UserForm.
Microsoft Forms fournit aussi son propre Modèle d'Objet nécessaire à la programmation des feuilles.

Conception d'une feuille: objet UserForm

Un objet UserForm est créé et modifié directement dans l'EDI.
Il se comporte comme un conteneur capables d'accueillir:

  • des composants graphiques appelés contrôles;
  • des informations de paramétrage des contrôles (les valeurs des propriétés);
  • un module de code VBA.

Les contrôles sont ajoutés à partir de la boîte à outils de Microsoft Forms.
Ces contrôles permettront de saisir des données ou d'initier des actions.
Les actions sont codées dans des procédures écrites en langage VBA. Ces procédures sont enregistrées dans le module de code associé au UserForm.

Liste des contrôles natifs d'un UserForm

Les contrôles natifs du VBA sont disponibles sans ajout d'une référence quelconque. Ils sont par conséquent utilisables sans autre installation que les produits de la suite Office (ou que l'application tierce).

Contrôles natifs disponibles pour un UserForm
Nom du contrôle Description Logiciels Office Versions
Etiquette
(Label)
Texte modifiable à la création ou par code Tous Toutes
Zone de texte
(TextBox)
Permet la saisie d'une valeur par l'utilisateur. Cette valeur est considérée comme du texte (variable String) Tous Toutes
Zone de liste modifiable
(ComboBox)
Liste déroulante permettant la saisie d'une valeur parmi n éléments d'une liste, avec ou sans possibilité de saisir une valeur non présente dans la liste.
(Excel: La liste peut être une plage de cellules)
Tous Toutes
Zone de liste
(ListBox)
Liste permettant la sélection d'une valeur parmi n éléments d'une liste.
(Excel: La liste peut être une plage de cellules)
Tous Toutes
Case à cocher
(CheckBox)
Permet de basculer l'état d'une valeur booléenne. Tous Toutes
Bouton d'option
(OptionButton)
Permet de sélectionner une option parmi une liste d'options. Ce contrôle est souvent utilisé au sein d'un contrôle Cadre. Tous Toutes
Bouton bascule
(ToggleButton)
Permet de basculer l'état d'une variable booléenne. Tous Toutes
Cadre
(Frame)
Cadre de regroupement des boutons d'option. Lorsqu'une option est cochée dans un cadre, toutes les autres options du cadre sont décochées. Tous Toutes
Bouton de commande
(CommandButton)
Bouton permettant d'initier une action (lancement d'une procédure) lors du clic et/ou du double clic. Tous Toutes
Image
(Image)
Affichage d'une image provenant d'un fichier (formats supportés: BMP, GIF, ICO, JPEG, WMF).
L'image est enregistrée dans l'objet UserForm, en tant que valeur de la propriété Picture du contrôle Image.
Tous Toutes


VBA et les applications tierces

En plus des applications de la suite logicielle Microsoft Office, on recense plus de 200 applications qui intègrent VBA.

(source: Visual Basic for Applications Licensing Partners, Microsoft corporation)


Ces applications sont développées par des entreprises qui établissent un partenariat avec Microsoft, soit pour des développements internes, soit pour intégrer l'environnement VBA dans un autre logiciel commercial.

Depuis juillet 2007, Microsoft n'offre plus de licence de distribution de VBA à de nouveaux partenaires.
Désormais, le remplaçant de VBA est VSTA: Microsoft® Visual Studio® Tools for Applications.

Domaines d'applications

  • Business Intelligence, Data Warehousing,
  • Analyse et Présentation de Données, Logiciels Collaboratifs,
  • Dessin Technique, CAO, Ingénierie,
  • Traitement d'images, SIG,
  • Gestion de Documents, Gestion des Connaissances,
  • Comptabilité, Gestion des Ressources Humaines, Gestion Financière, Gestion de Services de Santé,
  • ERP, CRM, Chaîne Logistique,
  • Gestion de Production, Productique et Automation,
  • Communication,
  • Outils de développement Logiciel.

Exemples d'applications pouvant intégrer VBA

  • Ingénierie/CAO: Dassault Systèmes CATIA, SolidWorks; Autodesk AutoCAD; Bentley MicroStation;
  • Business Intelligence/Modélisation de Processus: BuisinessObjects; Intelior Aeneis;
  • Système d'Information Géographique: ESRI ArcGIS, ArcInfo, ArcMap;
  • ERP: Baan Company iBaan; Agresso AGRESSO 5; Scala 5 Global Series;
  • Média & Publishing: Corel iGrafx FlowCharter 2005, CorelDRAW Graphics Suite 12, WordPerfect Office 12;
  • Télécommunications: Alcatel-Lucent 1000 S12 RAPTOR Application; Neoware TeamTalk;
  • Gestion de Production/Productique: Asprova ATS; Siemens Simatic;
  • Services Financiers: Thomson Reuters Kobra.


Liens sur www.developpez.com et www.developpez.net

La Suite Office

Access, système de gestion de bases de données

Excel, le tableur

Word, le traitement de texte

Outlook, gestion de messagerie, d'agenda et de tâches

PowerPoint, présentations de diapositives

Infopath, création et gestion de formulaires

Sharepoint, création de sites intranet collaboratifs

Récupérée de « http://wiki.developpez.com/VBA »
 
 
 
 
Partenaires

PlanetHoster
Ikoula