Excel VBA
De Banane Atomic
Aller à la navigationAller à la recherche
Liens
Astuces
Afficher l'onglet Developper
File → Options → Customize Ribbon → Customize the Ribbon = Main Tabs → cocher Developer
Afficher les macros VBA
- Alt + F11
- Outils → Macros → Afficher Visual Basic Editor
Configurer la sécurité des Macros
- Excel 2010 / Office 365: File → Options → Trust Center → Trust Center Settings → Macro Settings
- Excel 2003: Outils → Macros → Sécurité
Choix:
- Disable all macros with notification → les macros sont désactivés, mais on peut les activer une fois le fichier excel ouvert
Afficher l'Edit toolbar
View → Toolbars → Edit
Debug
Écrire dans l'Immediate Window
Debug.Print "Texte" |
View → Immediate Window (Ctrl + G)
Immediate Window |
? MaVariable Valeur de MaVariable |
Assert
' Stoppe le code si l'assertion est fausse Debug.Assert (MaVariable < 0) |
Variables locales
View → Locals Window
Watch Window
View → Watch Window
- Conditional break points
Error Trapping Settings
Tools → Options → General → Error Trapping
- Break on All Errors
- Break in Class Module
- Break on Unhandled Errors
Police et couleurs
Fenêtre VBA → Tools → Options → Editor Format
- Font (Consolas)
- Normal Text: Fg=White Bg=Black
- Comment Text: Bg=Black
- Keyword Text: Bg=Black
- Identifier Text: Fg=White Bg=Black
VBEThemeColorEditor
Pour changer les valeurs des couleurs.
C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\VBA\VBA7.1\VBE7.DLL
Convention de nommage
- M - Code Module
- MVBA - VBA libraries
- MVBAStrings - Library of string functions
- MMSOffice - Functions for working with Microsoft Office apps
- MWwinAPI - Windows API functions
- MWwinAPIRegistry - Functions for working with the Registry APIs
- MVBA - VBA libraries
- F - UserFOrm
- C - Class Module
- I - Interface
- gb - variable globale
- s - string
Scope
' Module level Private MyVar1 As String ' Global level Public MyVar2 As String Public Sub MyFunction() ' Local level Dim MyVar3 As String End Sub |
Ajouter un bouton
Onglet Developer → Insert → Form Controls → Button
Named range
Définir un nom: sélectionner un range → changer le nom dans la Name Box en haut à gauche. |
Formulas → Name Manager
ThisWorkbook.Names.Add Name:="MyRange", RefersTo:=Range("A1:A9") Range("MyRange").Value = "VVV" |
Accéder au contenu d'une cellule
content = Range("A1").Value Range("B3:B5").Value = content ' Item permet de sélectionner un sous élément de range (row,column) Range("B3:C5").Item(1, 2) = content content = Cells(ligne, colonne).Value Cells(ligne, colonne).Value = content |
Changer la couleur d'une cellule
Cells(ligne, colonne).Interior.Color = RGB(210, 210, 210) |
Changer la largeur d'une colonne
Columns(colonne).ColumnWidth = 25 |
Tester si une cellule contient un chiffre
If IsNumeric(Cells(1, 2).Value) Then command End If |
Erreurs
Projet ou bibliothèque introuvable
Une dll ou un exe n'est pas enregistrée dans le GAC (utiliser regsvr32 et fermer le fichier Excel).
Informations
Visual Basic for Applications a été lancé en 1993 avec Excel 5.0