cour vba excel

Pages: 6 (1376 mots) Publié le: 23 juillet 2014
Programmation VBA/Excel

Programmation VBA

Pierre BONNET
Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 – P. Bonnet

21

Programmation VBA/Excel
La programmation VBA



Historiquement, la programmation sous Excel avait comme fonction d'automatiser
une succession d'actions faites dans la feuille à l'aide de la souris.
D'où la notion de Macro Excel
Le langage initialétait spécifique (versions en Anglais et en Français)



A partir d'Excel 97, abandon du langage spécifique pour un langage unique
adoptant la syntaxe du Basic :

Visual Basic for Application VBA
C'est un enrichissement de VB par des fonctions spécifiques à chaque application
(Excel, Word, Access....).



Excel comprend tous les outils d'écriture et d'exécution de VB, y compris lespossibilités d'extension avec des bibliothèques ou "contrôles" supplémentaires.



La différence essentielle est que l'affichage se fait dans les feuilles d'un classeur

Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 – P. Bonnet

22

Programmation VBA/Excel
Accès à la programmation VBA → Alt F11

Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 – P. Bonnet23

Programmation VBA/Excel
VBA/VB6
VBA Excel
VBA Excel

RunTime VBA
RunTime VBA
Bibliothèque
de base Office

Appel de
fonctions
exécutables

VB6
VB6

DLL, OCX
DLL, OCX

RunTime VB6
RunTime VB6

Bibliothèque
de fonctions utilisateur

Bibliothèque de base VB6

msvbvm60.dll

FrameWork .NET
VBA Excel
VBA Excel

Visual Studio 2005
Visual Studio 2005
VisualStudio
Visual Studio
Tools for Office
Tools for Office

http://morpheus.developpez.com/vsto2/

RunTime VBA
RunTime VBA
Bibliothèque
de base Office

Code intermédiaire
MSIL
FrameWork .net
FrameWork .net

Machine virtuelle CLR
Common Langage RunTime

Environnement de
développement
VB.NET, C#, C+
+.NET, Java,
J#, Python...

http://fr.wikipedia.org/wiki/.NET

Masters SMaRT & GSI- Supervision Industrielle - 2012-2013 – P. Bonnet

24

Programmation VBA/Excel
Variables
 Déclaration implicite
Par défaut, l'usage d'une variable dans une affectation tient lieu de déclaration (comme en Matlab)
Le type affecté est déterminé automatiquement par l'évaluation de la partie droite de l'évaluation
Danger de l'absence de déclaration : toute erreur de frappe du nom d'unevariable crée une nouvelle
variable!

 Déclaration explicite
Utilisez la directive en début de programme

Option Explicit

Toute déclaration a la structure :

Dim Nom_Variable as Type_Variable

 Portée de la déclaration
Une variable n'est visible que pour la feuille où elle est déclarée .
Pour une visibilité des autres feuilles/classeur, utiliser Public Nom_Variable as Type_VariableParticularité : La notion de pointeur n'existe pas en VB/VBA d'où communication impossible avec des
fonctions qui utilisent cette approche pour le dialogue
Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 – P. Bonnet

25

Programmation VBA/Excel
Variables
 Boolean
Prend les valeurs True et False. Par conversion depuis d'autres types numériques, la valeur 0
devient False ettoutes les autres deviennent True. Dans le cas inverse, False devient 0 et True
devient -1.
Conversion d'une donnée numérique en Boolean par la fonction Cbool
exemple :

A = CBool(10)

'A prend la valeur

True.

 Byte, Integer, Long
Types de données entiers 8, 16 ou 32 bits .
Conversion d' une donnée numérique en Byte, utilisez la fonction CByte, idem pour les autres
types .Attention : l'adressage des lignes xls doit se faire en type long (valeur éventuellement supérieure à
32 767)



Single, Double

Caractérise les nombres réels (ou flottants) simple et double précision
Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 – P. Bonnet

26

Programmation VBA/Excel
Variables


String

* Les chaînes de longueur fixe peuvent contenir de 1 à 2^16...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • EXCEL VBA
  • Excel vba
  • vba excel
  • VBA excel
  • Vba sous excel
  • VBA Sous EXCEL Mouss
  • Formation Excel
  • Cellule excel en vba

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !