Identifiant
Mot de passe
Loading...
Mot de passe oublié ?
Je m'inscris ! (gratuit)
Forums
Tutoriels
FAQ
Blogs
Chat
Newsletter
Emploi
Études
Droit
Club
DI/DSI Solutions d'entreprise
DI/DSI Solutions d'entreprise
Big Data
BPM
Business Intelligence
Data Science
ERP / PGI
CRM
SAS
SAP
Sécurité
Droit informatique et entreprise
OnlyOffice
Cloud
Cloud Computing
Oracle
Azure
IBM Cloud
IA
Intelligence artificielle
ALM
ALM
Agile
Merise
UML
Microsoft
Microsoft
.NET
Microsoft Office
Visual Studio
Windows
ASP.NET
TypeScript
C#
VB.NET
Azure
Java
Java
Java Web
Spring
Android
Eclipse
NetBeans
Dév. Web
Développement et hébergement Web
AJAX
Apache
ASP
CSS
Dart
Flash / Flex
JavaScript
NodeJS
PHP
Ruby & Rails
TypeScript
Web sémantique
Webmarketing
(X)HTML
EDI
EDI
4D
Delphi
Eclipse
JetBrains
LabVIEW
NetBeans
MATLAB
Scilab
Visual Studio
WinDev
Visual Basic 6
Lazarus
Qt Creator
Programmation
Programmation
Débuter - Algorithmique
2D - 3D - Jeux
Assembleur
C
C++
C#
D
Go
Kotlin
Objective C
Pascal
Perl
Python
Rust
Swift
Qt
XML
Autres
SGBD
SGBD & SQL
4D
Access
Big Data
Data Science
DB2
Firebird
InterBase
MySQL
NoSQL
PostgreSQL
Oracle
Sybase
SQL-Server
MongoDB
Office
Microsoft Office
Access
Excel
Word
Outlook
PowerPoint
SharePoint
Microsoft Project
OpenOffice & LibreOffice
OnlyOffice
Mobiles
Mobiles
Android
iOS
Systèmes
Systèmes
Windows
Linux
Arduino
Hardware
HPC
Mac
Raspberry Pi
Réseau
Green IT
Sécurité
Systèmes embarqués
Virtualisation
TUTORIELS
FAQ
WEBINAIRES
LIVRES
TÉLÉCHARGEMENTS
SOURCES
DÉBATS
WIKI
DICO
HUMOUR
Voir le texte source
De WikiDeveloppez.
pour
VBA
Aller à :
Navigation
,
Rechercher
[[Catégorie:Langages]] [[Catégorie:EDI]] <rubrique id="54" /> ==Présentation== ===Définition=== VBA vient de '''V'''isual '''B'''asic for '''Application''' Le VBA est une version de [[Visual Basic 6|Visual Basic 6 (VB6)]] présente dans les applications de la suite Office et de certaines [[#applicationstierces|applications partenaires]]. Sa syntaxe est identique à celle de [[Visual Basic 6|Visual Basic]]. A la différence de [[Visual Basic 6|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 [[Visual Basic 6#vb6versusvba|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.<br/> <br/> Il comprend:<br/> * des outils de développement, :#un éditeur de code <small>(avec technologie ''IntelliSense'')</small>, :#un débogueur, :#un navigateur/explorateur de classes d'objets; * ''Microsoft Forms'' qui fournit :#des outils intégrés à l'EDI pour la [[#userforms|conception de fenêtres et de boîtes de dialogues]], :#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"'; ::<small>(remarque: la bibliothèque VBA donne accès aux ''feuilles'' créées avec ''Microsoft Forms''; cf. la collection '''<tt>UserForms</tt>''')</small><br/> * des mécanismes de protection du code (mot de passe) et de sécurité (signature numérique du projet). <br/> L'application doit fournir un '''Modèle d'Objet''' qui permet de la manipuler par programmation.<br/> <br/> 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).<br/> La racine du '''Modèle d'Objet''' est toujours l'objet/classe '''<tt>Application</tt>'''.<br/> <br/> ::<small>(à faire: Automation)</small> <span id="vbaoutilsnatifs"></span> ==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 [[Visual Basic 6|VB6]]. <span id="userforms"></span> ===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 '''<tt>UserForm</tt>'''.<br/> Microsoft Forms fournit aussi son propre '''Modèle d'Objet''' nécessaire à la programmation des ''feuilles''.<br/> ====Conception d'une feuille: objet ''UserForm''==== Un objet '''<tt>UserForm</tt>''' est créé et modifié directement dans l'EDI.<br/> Il se comporte comme un conteneur capables d'accueillir des composants graphiques appelés ''contrôles''.<br/> Les contrôles sont ajoutés à partir d'une boîte à outils.<br/> Ces contrôles permettront de saisir des données ou d'initier des actions.<br/> 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 '''<tt>UserForm</tt>'''. ====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. {| class="wikitable" style="text-align:left; width:80% border="1";" |+ '''Contrôles natifs disponibles pour un userform''' |- ! scope=col | Nom du contrôle ! scope=col | Description ! scope=col | Logiciels Office ! scope=col | Versions |- ! scope=row | Etiquette<br/>(<tt>Label</tt>) |Texte modifiable à la création ou par code |Tous |Toutes |- ! scope=row | Zone de texte<br/>(<tt>TextBox</tt>) |Permet la saisie d'une valeur par l'utilisateur. Cette valeur est considérée comme du texte (variable String) |Tous |Toutes |- ! scope=row | Zone de liste modifiable<br/>(<tt>ComboBox</tt>) |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.<br/>(Excel: La liste peut être une plage de cellules) |Tous |Toutes |- ! scope=row | Zone de liste<br/>(<tt>ListBox</tt>) |Liste permettant la sélection d'une valeur parmi n éléments d'une liste.<br/>(Excel: La liste peut être une plage de cellules) |Tous |Toutes |- ! scope=row | Case à cocher<br/>(<tt>CheckBox</tt>) |Permet de basculer l'état d'une valeur booléenne. |Tous |Toutes |- ! scope=row | Bouton d'option<br/>(<tt>OptionButton</tt>) |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 |- ! scope=row | Bouton bascule<br/>(<tt>ToggleButton</tt>) |Permet de basculer l'état d'une variable booléenne. |Tous |Toutes |- ! scope=row | Cadre<br/>(<tt>Frame</tt>) |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 |- ! scope=row | Bouton de commande<br/>(<tt>CommandButton</tt>) |Bouton permettant d'initier une action (lancement d'une procédure) lors du clic et/ou du double clic. |Tous |Toutes |- ! scope=row | Image<br/>(<tt>Image</tt>) |Affichage d'une image provenant d'un fichier (formats supportés: BMP, GIF, ICO, JPEG, WMF). L'image est enregistrée dans UserForm. |Tous |Toutes |- |} <span id="applicationstierces"></span> ==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.<br/> <small>''(source: [http://msdn.microsoft.com/en-us/isv/bb190544.aspx, Visual Basic for Applications Licensing Partners], Microsoft corporation)''</small><br/> <br/> 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.<br/> <br/> Depuis juillet 2007, Microsoft n'offre plus de licence de distribution de VBA à de nouveaux partenaires.<br/> 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; Autodesk AutoCAD; Bentley MicroStation; * Business Intelligence/Modélisation de Processus: BuisinessObjects; Intelior Aeneis; * Système d'Information Géographique: ESRI 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 [http://www.developpez.com www.developpez.com] et [http://www.developpez.net www.developpez.net]== [http://office.developpez.com La Suite Office] [http://access.developpez.com Access, système de gestion de bases de données] [http://excel.developpez.com Excel, le tableur] [http://word.developpez.com Word, le traitement de texte] [http://outlook.developpez.com Outlook, gestion de messagerie, d'agenda et de tâches] [http://powerpoint.developpez.com PowerPoint, présentations de diapositives] [http://infopath.developpez.com Infopath, création et gestion de formulaires] [http://sharepoint.developpez.com Sharepoint, création de sites intranet collaboratifs]
Modèle:Infobox Bleu
Revenir à la page
VBA
.
Affichages
Page
Discussion
Voir le texte source
Historique
Outils personnels
Identification
Navigation
Accueil
Modifications récentes
Toutes les pages
Aide
Forum Wiki
Rechercher
Boîte à outils
Pages liées
Suivi des liens
Importer un fichier
Pages spéciales
Contacter
le responsable de la rubrique Accueil
Nous contacter
Participez
Hébergement
Publicité / Advertising
Informations légales
© 2000-2024 - www.developpez.com