Vous êtes sur la page 1sur 4

L'diteur de macro ou VBE

L'diteur de macro, ou VBE (Visual Basic Editor) est l'environnement de programmation de VBA. Il se lance par le menu "Outils-Macro-Visual-Basic-Editorou par le raccourci clavier "Alt+F11".

VBA Excel

L'diteur de macro ou VBE


Les principales fentres de VBE : 1 - Fentre VBAProject. Elle prsente les diffrents projets ouverts et permet de naviguer facilement entre vos diffrentes feuilles de codes VBA. 2 - Fentre Code. C'est l'endroit ou vous allez saisir votre code VBA. 3 - Fentre Proprits. Proprits de l'objet slectionn. 4 - Fentre Excution. Elle permet de tester une partie du code. Elle peut s'avrer trs utile pour voir comment s'excutent certaines lignes de code.
3

VBA - Prsentation
Le code VBA s'crit dans les modules l'intrieur de procdures ou de fonctions. Dans VBE, crez un nouveau module par le menu "Insertion - Module". Renommez le module l'aide de la fentre proprits, la recherche de vos procdures sera plus rapide.

VBA - Prsentation
Une procdure est une suite d'instructions effectuant des actions. Elle commence par Sub + NomDeLaProcdure et se termine par End Sub. Le nom des procdures ne doit pas commencer par une lettre et ne doit pas contenir d'espaces. Utilisez le caractre de soulignement pour sparer les mots. Je vous conseille de les crire comme des noms propres. Pour dclarer une procdure, taper Sub et son nom puis taper Entre. VBE ajoute automatiquement les parenthses et la ligne End Sub. Exemple:
Sub Essai() MsgBox "Bonjour" End Sub
5

VBA - Prsentation
En gnral, on crit une instruction par ligne. Il est possible d'ajouter des lignes de commentaire entre les lignes d'instruction ou au bout de celles-ci. Les commentaires sont prcds d'une apostrophe et prennent une couleur diffrente Exemple:
Sub Essai() Dim Invite as String 'Nom de l'utilisateur Invite = InputBox( Saisir le nom de lutilisateur ) 'Message bonjour l'utilisateur MsgBox "Bonjour " & Invite End Sub

VBA - Vocabulaire
VBA manipule les objets de l'application hte. Chaque objet possde des proprits et des mthodes. Les objets : Chaque objet reprsente un lment de l'application. Sous Excel, un classeur, une feuille de calcul, une cellule, un bouton, etc ... sont des objets. Par exemple, Excel reprsente l'objet Application, Workbook l'objet classeur, Worksheets ou Sheets l'objet feuille de calcul, Range ou cells lobjet cellule etc... Chaque lment est alors identifi par son nom ou par un index. Exemple: Application.Workbooks(1).Worksheets("Feuil2").Range("A1")

VBA - Vocabulaire
VBA manipule les objets de l'application hte. Chaque objet possde des proprits et des mthodes. Les proprits : Une proprit correspond une particularit de l'objet. La valeur d'une cellule, sa couleur, sa taille, etc...sont des proprits de l'objet Range. Les objets sont spars de leurs proprits par un point. Exemples: 'Mettre la valeur 10 dans la cellule A1 Range("A1").Value = 10 Masquer la feuille Feuil2 Worksheets("Feuil2").Visible = False
7 8

VBA - Vocabulaire
VBA manipule les objets de l'application hte. Chaque objet possde des proprits et des mthodes. Les mthodes : On peut considrer qu'une 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

VBA - Tests
Les instructions de test Les instructions d'un programme sont normalement excutes les unes la suite des autres, squentiellement. Les instructions de test, de boucle et de branchement permettent de modifier cet ordre naturel. If expression Then [instructions] [Else [instructions]] End If O ExpressionUne expression VBA qui est value Vrai ou Faux. Si expression vaut Null, elle est considr comme Faux. Instructions Une ou plusieurs instructions VBA, sur autant de lignes que ncessaire.La premire srie d'instructions est excute si expression vaut Vrai, et la seconde si expression vaut Faux
9 10

VBA - Tests
Les instructions de test
Exemple : Tester si une cellule Excel nomme "Nombre" contient un nombre.

VBA - Tests
Les instructions de test
Dans le cas de conditions multiples, on prfrera le bloc d'instruction Select Case expression Case valeur expression Case Else End Select.

Sub ExempleTest1() 'Vrifier si la cellule "Nombre" contient un nombre If IsNumeric(Range("Nombre").Value) Then MsgBox "La valeur est numrique" End If End Sub

11

12

VBA - Tests
Les instructions de test Dim Note As Integer Dim Mention As String Note = Range("A1") Select Case Note Case Is < 2 Mention = " Trs Faible " Case 2,3,4,5 Mention = Faible" Case 6 To 9 Mention = " Faire mieux Case 10 To 12 Mention = " Moyen Case 13 To 15 Mention = "Bien" Case 16 To 19 Mention = "Trs Bien" Case Else Mention = "Excellent" End Select Range("B1") = Mention

http://jml85.pagesperso-orange.fr/Pages/cours_VBA.htm http://lecompagnon.info/vba-excel/vba_tests.htm#.TrWwHPQfjxY

13

14