Escolar Documentos
Profissional Documentos
Cultura Documentos
Claude Duvallet
Universit du Havre UFR des Sciences et Techniques 25 rue Philippe Lebon BP 540 76058 Le Havre Cedex Courriel : Claude.Duvallet@gmail.com
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Avant Excel utilisait son propre langage de programmation et une application tait appele "macro". Ce terme est rest, mais une macro Excel ralise en VBA nest rien dautre quune procdure telle quelles sont ralises sous VB. VBA manipule des objets Excel tels que les objets Workbook (classeur), Worskheet (Feuille de calcul), Range(plage de cellule), etc. VBA, langage puissant, souple et facile utiliser permet de raliser trs rapidement des applications.
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Vous pouvez ensuite dmarrer et arrter lenregistrement de la macro au moyen des boutons de la barre doutils "Macro". Toutes les actions effectues pendant la priode denregistrement seront inscrites dans la macro en langage VBA mme les erreurs ou les annulations. Vous pouvez ensuite diter le code de la macro pour lexaminer ou encore le modier.
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Lditeur de macro, ou VBE (Visual Basic Editor) est lenvironnement de programmation de VBA. Il se lance par le menu Outils puis loption Macro et ensuite loption Visual Basic Editor ou par le raccourci clavier Alt+F11.
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Fentre VBAProject Elle prsente les diffrents projets ouverts et permet de naviguer facilement entre vos diffrentes feuilles de codes VBA. Fentre Code Cest lendroit ou vous allez saisir votre code VBA. Fentre Proprits Proprits de lobjet slectionn. Fentre Excution Elle permet de tester une partie du code. Elle peut savrer trs utile pour voir comment sexcutent certaines lignes de code.
2 3 4
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets
VBA manipule les objets de lapplication hte. Chaque objet possde des proprits et des mthodes. Chaque objet reprsente un lment de lapplication : un classeur, une feuille de calcul, une cellule, un bouton, etc. Par exemple, Excel reprsente lobjet Application, Workbook lobjet classeur, Worksheet lobjet feuille de calcul, etc. Tous les objets de mme type forment une collection comme, par exemple, toutes les feuilles de calcul dun classeur. Chaque lment est alors identi par son nom ou par un index. Par exemple, pour faire rfrence la Feuil2, on va utiliser Worksheets(2) ou Worksheets("Feuil2") Chaque objet peut avoir ses propres objets. Un classeur possde des feuilles qui possdent des cellules. Pour faire rfrence une cellule, on peut donc utiliser : Application.Workbooks(1).Worksheets("Feuil2").Range("A1")
Claude Duvallet 13/35 EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les proprits
Une proprit correspond une particularit de lobjet. La valeur dune cellule, sa couleur, sa taille, etc. sont des proprits de lobjet Range. Les objets sont spars de leurs proprits par un point. On crira ainsi Cellule.Proprit=valeur.
Worksheets("Feuil2").Visible = False
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les mthodes
On peut considrer quune mthode est une opration que ralise un objet. Les mthodes peuvent tre considres comme des verbes tels que ouvrir, fermer, slectionner, enregistrer, imprimer, effacer, etc. Les objets sont spars de leurs mthodes par un point. Par exemple, pour slectionner la feuille de calcul nomm "Feuil2", on crira : Worksheets("Feuil2").Select Lorsque lon fait appel plusieurs proprits ou mthodes dun mme objet, on fera appel au bloc dinstruction With Objet Instructions End With. Cette instruction rend le code souvent plus facile lire et plus rapide a excuter.
Mettre la valeur 10 dans la cellule A1, la police en gras et en italique et copier la cellule. With Worksheets("Feuil2").Range("A1") .Value = 10 .Font.Bold = True .Font.Italic = True .Copy End With
Claude Duvallet 15/35 EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Pour quune macro se dclenche, il faut quun vnement (un clic sur un bouton, louverture dun classeur, etc.) se produise. Sans vnements, rien ne peut se produire. Il existe deux types dvnements : les vnements lis aux objets et les vnements lis aux objets. Les principaux objets pouvant dclencher une macro sont :
Un classeur Une feuille de travail Une boite de dialogue
Chacun de ces objets possde leur propre module. Pour y accder, il faut lancer lditeur de macro.
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Pour crer une procdure vnementielle lie un classeur, slectionner le classeur ThisWorkbook puis cliquez sur licne 3 (ou plus simplement double-clic sur ThisWorkbook). Vous accdez ainsi au module li lobjet. Slectionnez Workbook dans la liste 1 puis sur lvnement dsir dans la liste 2.
Claude Duvallet 17/35 EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
La cration dune procdure vnementielle lie une feuille de calcul se fait de la mme faon. Une macro peut galement tre dclenche une heure donne (OnTime) ou lorsque lutilisateur appuie sur une touche (OnKey). Le dclenchement dune macro nomme "Test" 15 Heures se fait par la ligne dinstruction suivante : Application.OnTime TimeValue("15:00:00"), "Test". Le dclenchement dune macro nomme "Test" lorsque lutilisateur appuie sur la touche "F1" se fait par la ligne dinstruction suivante : Application.OnKey "F1", "Test".
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
La syntaxe est MsgBox ("Message", attribut bouton ). Vous pouvez galement y ajouter les icnes et personnaliser le titre de la fentre en utilisant la syntaxe : Msgbox ("Message",
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Une variable peut tre "locale au module" si celle-ci est dclare avant la premire procdure dun module. Toutes les procdures du module peuvent alors lui faire appel. Elle est dclare par les mots Dim ou Private. Une variable peut galement tre accessible tous les modules dun projet. On dit alors quelle est publique. Elle est dclare par le mot Public. Elle ne peut pas tre dclare dans un module de Feuille ou dans un module de UserForm. Une variable peut garder toujours la mme valeur lors de lexcution dun programme. Dans ce cas, elle est dclare par les mots Const ou Public Const.
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
Les classeurs sont dsigns par le mot Workbook. Ils peuvent tre ouverts, ferms, enregistrs, activs, masqus, supprims,... par une instruction VB. Les feuilles de calcul sont dsignes par le mot Worksheet. Comme les Workbook, ces objets possdent de nombreuses proprits et mthodes.
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
Les cellules
Une plage de cellules est dsigne par lobjet Range. Pour faire rfrence la plage de cellule "A1 :B10", on utilisera Range("A1:B10"). Lobjet Range permet galement de faire rfrence plusieurs plages de cellules non contigus. Pour faire rfrence une seule cellule, on utilisera lobjet Range("Rfrence de la cellule) ou Cells(Numro de ligne, Numro de colonne). VB vous permet galement de changer le format des cellules (polices, couleur, encadrement ...). partir dune cellule de rfrence, vous pouvez faire appel aux autres cellules par linstruction Offset. La syntaxe est
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
Les boucles le plus souvent utiliss sont les boucles For ... Next. Elles permettent de rpter un nombre de fois dni un bloc dinstructions. Elles utilisent une variable qui est incrmente ou dcrmente chaque rptition. La variable peut tre incrmente dune valeur diffrente de 1 par le mot Step. La variable peut galement tre dcrmente, le mot Step est alors obligatoire.
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
lintrieur dun bloc dinstruction For Next, linstruction Exit For, peut quitter la boucle avant que la variable nest atteint sa dernire valeur. Pour rpter un bloc dinstructions pour chaque objet dune collection ou pour chaque lment dun tableau, on utilisera le bloc dinstruction For Each Objet In Collection Next. On peut galement utiliser linstruction Exit For pour sortir dun bloc dinstruction For Each ... Next.
EXCEL
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
Introduction Les macro-commandes Structures de base en VBA Les objets et les instructions
Les objets Les instructions conditionnelles Les boucles Les fonctions de texte
Remerciements
Cette prsentation est appele tre enrichie et amliore. Cette prsentation a t ralise au moyen de divers supports dont certains trouvs sur Internet et notamment ceux qui suivent :
http://www.lecompagnon.info/excel/index.html http://perso.wanadoo.fr/jml85/Pages/cours_VBA.htm
EXCEL