FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://fr.wikipedia.org/wiki/Visual_Basic_for_Applications

Visual Basic for Applications — Wikipédia

Contents
Historique
Interopérabilité
Applications
    Dans Excel

Pour les articles homonymes, voir VBA.

1 juillet 2007, Microsoft ne distribue plus de licences VBA à ses nouveaux clients car ils essayent de les remplacer par Visual Studio Tools for Applications (VSTA), une boîte à outils de customisation d'application basé sur la plateforme Framework .NET. De l'article de février 2008. La seconde version de VSTA est très différente de la première, avec des fonctionnalités comme la programmation dynamique et la compatibilité WPF, WCF, WF, LINQ, et .NET 3.5.

Toutefois, en raison de la dépendance de certaines entreprises à VBA, VBA est encore disponible dans Office 2007, 2010, 2013 et 2016 et 2019. La dernière version 7.1 est incluse dans Office 2013. Le langage de macro Excel 4, antérieur à VBA, est lui aussi pris en charge, même par les dernières version d'Excel.

Historique

modifiermodifier le code

La popularité incroyable de Visual Basic après son lancement amena Microsoft à inclure une version simplifiée dans ses applications de bureautique afin de remplacer les différents langages de macro. Cependant, comme le démontre la chronologie, ce changement s’est fait sur une longue période.

  • 1993 - Lancement de VBA avec Microsoft Excel (version 5)
  • 1994 - Inclusion de VBA avec Microsoft Project
  • 1995 - Inclusion de VBA avec Microsoft Access, remplaçant Access Basic
  • 1996 - Inclusion de VBA dans Microsoft Word, remplaçant Word Basic
  • 1997 - Lancement de VBA 5.0, couvrant la suite Microsoft Office 97
  • 1997 - Microsoft permet l'utilisation de VBA pour d'autres applications
  • 1998 - Lancement de VBA 6.0
  • 2001 - Lancement de VBA 6.1 visible dans MS Office 2007
  • 2010 - Lancement de VBA 7.0 (pour garantir la compatibilité des versions 32-bit et 64-bit de Microsoft Office)
  • 2013 - Lancement de VBA 7.1 couvrant la suite office 2013, 2016 et 2019

Interopérabilité

modifiermodifier le code

Une prise en charge minimale de VBA est également disponible dans OpenOffice.org, à partir de la version 3.0.

Applications

modifiermodifier le code

Dans Excel

modifiermodifier le code

L'enregistreur de macros sous Microsoft Excel (Onglet Développeur / Enregistrer une Macro) permet de générer facilement du code VBA dans une procédure.

Toute la séquence d'action effectuée entre le début et la fin de l'enregistrement est enregistrée dans une procédure VBA, qui pourra être réexécutée à l'identique. Il est possible de modifier ce code ou de programmer directement dans la VBE (Onglet Développeur / Visual Basic).
C'est la meilleure méthode pour apprendre à se servir de VBA pour les programmeurs néophytes.
Tout d'abord, on enregistre une séquence en appuyant sur le bouton d'enregistrement, et ensuite on peut l'exécuter pas à pas (touche F8) dans l'outil VBA afin de savoir les actions effectuées par chaque ligne de code.

Les principales collections d'objets du tableur Excel sont WorkBook (classeur), Sheets (feuille de calcul) et Range (plage de cellules). Elles sont utilisables selon une hiérarchie descendante :

  • Workbooks("Année 2012").Sheets("Mars").Range("B2") désigne la cellule B2 de la feuille Mars du classeur Année 2012 ;
  • Sheets("Mars").Range("B2") du classeur actif (ouvert et affiché) ;
  • Range("B2") de la feuille active.

Une fois un objet désigné :

  • une méthode peut lui être appliquée (NomObjet.NomMéthode) : Range("B2").Select sélectionne la cellule B2…
  • ses propriétés (NomObjet.Propriété) peuvent être consultées ou modifiées (affection NomObjet.Propriété=valeur) ; des propriétés courantes sont visibles (à utiliser avec True et False pour afficher ou masquer), Value (valeur d'une cellule), Count (nombre de cellules d'une page, de feuilles de classeur…).

Les références aux cellules peuvent être :

  • absolues : Range("B2") ou Cells(2,2) désignent la cellule B2 de la feuille active ;
  • relatives à la cellule d'origine : ActiveCell.Offset (2,-1) désigne la cellule située 2 lignes plus bas (- pour plus haut) et une colonne à gauche (+ pour à droite) de la cellule active.

Microsoft Excel permet de créer des fonctions personnalisées programmées en code VBA et placées dans un module. Elles sont ensuite accessibles dans la bibliothèque de fonction (Insertion / Fonction / Personnalisée) :


View original on Wikipedia | Back | FazBrowse Home