Vous êtes sur la page 1sur 13

VBA Access 2013

Programmer sous Access

Avant-propos

1. Introduction 15

2. Objectifs du livre 15

Généralités

1. Rappels 19

2. Principes fondamentaux de VBA 20

3. Passage des macros à VBA 21

3.1 Conversion de macros dans un formulaire ou un état 22


3.2 Conversion de macros globales 23

4. Sécurité des bases de données Access 23


4.1 Modification des paramètres de sécurité d'une base Access 23
4.2 Modification des paramètres de sécurité par défaut 25
4.3 Description des différentes options de sécurité 25
4.4 Documents approuvés 26
4.5 Emplacements approuvés 27
4.6 Éditeurs approuvés 28

5. Diffuser une base de données Access au moyen d'un package signé 29

5.1 Obtenir un certificat numérique 30


5.2 Créer et signer un package 31

6. L'environnement de développement IDE 31

6.1 Présentation 31
6.2 Fenêtres de l'environnement IDE 32

www.editions-eni.fr © Editions ENI 1/13


VBA Access 2013
Programmer sous Access

7. Configuration de l'éditeur VBA 35


7.1 Paramétrage des couleurs de l'éditeur 35
7.2 Paramétrage de la présentation du code 36

8. Référence aux objets 37

9. Création d'une procédure en VBA 38

10. Recommandations 42

Le langage Visual Basic

1. Les modules 43

2. Les procédures 44
2.1 Les procédures Sub 45
2.2 Les procédures Function 47
2.3 Déclaration des procédures 47
2.4 Portée des procédures 48
2.5 Arguments des procédures 49
2.6 Les arguments nommés 50
2.7 Appel d'une procédure 51
2.8 Exemples de procédures 51
2.9 La fonction MsgBox 52

3. Les variables 56

3.1 Les types de variables 56


3.2 Les déclarations de variables 59
3.3 La portée des variables 61
3.4 Les tableaux 61
3.5 Les constantes 64

www.editions-eni.fr © Editions ENI 2/13


VBA Access 2013
Programmer sous Access

4. Les structures de décision 67


4.1 L'instruction IF 67
4.2 L'instruction Select Case 69
4.3 La fonction Iif 70

5. Les structures en boucles 71

5.1 L'instruction Do...Loop 71


5.2 L'instruction While...Wend 72
5.3 L'instruction For...Next 73
5.4 L'instruction For Each...Next 74

6. Les opérateurs 75

6.1 Les opérateurs arithmétiques 76


6.2 Les opérateurs de comparaison 76
6.3 Les opérateurs logiques 77
6.4 L'opérateur de concaténation 78
6.5 Priorité des opérateurs 78

7. Les règles d'écriture du code 79


7.1 Les commentaires 79
7.2 Le caractère de continuation 80
7.3 L'indentation 80
7.4 Les noms des procédures, variables et constantes 81

8. Les conventions d'appellation 81

8.1 Convention d'appellation des variables 81


8.2 Convention d'appellation des contrôles 82
8.3 Convention d'appellation des objets 83

Objets et collections

1. Présentation 85

www.editions-eni.fr © Editions ENI 3/13


VBA Access 2013
Programmer sous Access

2. Le modèle objet d'Access 87


2.1 Principales collections 88
2.2 Objets du Modèle 89

3. Principes d'utilisation des objets et des collections 90


3.1 Les propriétés 90
3.2 Propriétés représentant des objets 90
3.3 Les méthodes 92
3.4 Les événements 93
3.5 Les collections 94
3.6 Affichage automatique d'instructions 96

4. Instructions utilisées avec les objets 99


4.1 L'instruction With 99
4.2 L'instruction For each...Next 100
4.3 L'instruction If TypeOf 101
4.4 L'instruction Set 102

5. Les classes d'objets 107


5.1 Description 107
5.2 Les modules de classe 107
5.3 Exemple de modules de classe 108

6. L'explorateur d'objets 112

6.1 Présentation 112


6.2 Recherche dans l'explorateur d'objets 114

7. Propriétés et méthodes d'objets Access 115

7.1 L'objet Application 115


7.2 L'objet DoCmd 124
7.3 L'objet Screen 131
7.4 La collection References 132
7.5 La collection Printers 135

www.editions-eni.fr © Editions ENI 4/13


VBA Access 2013
Programmer sous Access

Objets d'accès aux données

1. Objets d'accès aux données DAO et ADO 137

2. Le modèle d'accès aux données DAO 138


2.1 Présentation 138
2.2 Hiérarchie des objets DAO 139
2.3 Description des collections 140
2.4 L'objet DBEngine 142
2.5 Les objets Workspace 143
2.6 Les objets Database 145
2.7 Les objets Recordset 147
2.8 Les objets Tabledef 154
2.9 Les objets Field et Index 155
2.9.1 Field 155
2.9.2 Index 157
2.10 Les objets QueryDef et Parameter 159
2.10.1 QueryDef 159
2.10.2 Parameter 160
2.11 Les objets Relation 161
2.12 Les objets Container et Document 163
2.12.1 Container 163
2.12.2 Document 165
2.13 Les objets Group et User 166
2.13.1 User 166
2.13.2 Group 167
2.14 L'objet Error 168
2.15 Les objets Property 169

3. Le modèle d'accès aux données ADO 170

3.1 Présentation 170


3.2 ADO et OLE DB 171
3.3 Hiérarchie des objets ADO 172
3.4 Modèle de base de programmation ADO 173
3.5 Description des objets ADO 174

www.editions-eni.fr © Editions ENI 5/13


VBA Access 2013
Programmer sous Access

3.6 Les collections ADO 175


3.7 Les objets Connection 175
3.8 Les objets Command 178
3.9 Les objets Recordset 179
3.10 La collection Fields 185
3.11 Les objets Field 185
3.12 La collection Parameters 186
3.13 Les objets Parameter 187
3.14 La collection Properties 188
3.15 Les objets Property 188
3.16 La collection Errors 188
3.17 Les objets Error 189

Le langage SQL

1. Présentation 191

2. Langage SQL et VBA 193

3. Description du langage SQL 194

3.1 L'instruction SELECT 194


3.2 La clause FROM 195
3.3 La clause WHERE 197
3.4 La clause GROUP BY 197
3.5 La clause HAVING 198
3.6 La clause ORDER BY 199
3.7 L'instruction UPDATE 199
3.8 L'instruction DELETE 200
3.9 L'instruction INSERT INTO 201
3.10 Autres instructions 202

4. Exemples d'utilisation de requêtes SQL 203


4.1 Mise à jour d'enregistrements 203
4.2 Chargement d'une liste déroulante 204

www.editions-eni.fr © Editions ENI 6/13


VBA Access 2013
Programmer sous Access

Gestion des événements

1. Présentation 207

1.1 Définition 207


1.2 Association de code VBA à un événement 208

2. Catégories d'événements 209

2.1 Événements de type Fenêtre 210


2.2 Événements de type Focus 210
2.3 Événements de type Données 212
2.4 Événements de type Souris 214
2.5 Événements de type Clavier 215
2.6 Événements de type Impression 216
2.7 Événements de type Filtre 217
2.8 Événements de type Erreur et Minuterie 217

3. Annulation d'un événement 218

4. Séquences types d'événements 219

5. Les événements de mise à jour 220

Débogage et gestion des erreurs

1. Les différents types d'erreur 221

1.1 Les erreurs de syntaxe 221


1.2 Les erreurs de compilation 222
1.3 Les erreurs d'exécution 223
1.4 Les erreurs de logique 224

2. Débogage avec VBA 225

2.1 Présentation 225

www.editions-eni.fr © Editions ENI 7/13


VBA Access 2013
Programmer sous Access

2.2 La barre d'outils Débogage 225


2.3 L'objet Debug 227

3. Gestion des erreurs par VBA 227


3.1 Principe 227
3.2 La procédure événementielle Error 228
3.3 L'instruction On Error 229
3.4 L'objet Err 230

Personnalisation des formulaires et états

1. Présentation 233

2. Personnalisation des formulaires 234

2.1 Syntaxes 234


2.2 Propriétés disponibles en mode Création 235
2.2.1 Propriétés de l'onglet Format 236
2.2.2 Propriétés de l'onglet Données 239
2.2.3 Propriétés de l'onglet Événement 241
2.2.4 Propriétés de l'onglet Autres 245
2.3 Propriétés non disponibles en mode Création 246
2.3.1 Propriétés se rapportant au mode d'affichage du formulaire 246
2.3.2 Propriétés se rapportant aux enregistrements et à leur mise à jour 246
2.3.3 Propriétés se rapportant à la présentation du formulaire 247
2.3.4 Propriétés renvoyant un objet 249
2.3.5 Propriétés relatives à l'impression du formulaire 249
2.4 Méthodes des objets Form 250

3. Personnalisation des états 251

3.1 Syntaxes 251


3.2 Propriétés disponibles en mode Création 252
3.2.1 Propriétés de l'onglet Format 252
3.2.2 Propriétés de l'onglet Données 255
3.2.3 Propriétés de l'onglet Événement 256

www.editions-eni.fr © Editions ENI 8/13


VBA Access 2013
Programmer sous Access

3.2.4 Propriétés de l'onglet Autres 258


3.3 Propriétés non disponibles en mode création 259
3.3.1 Propriétés se rapportant au mode d'affichage de l'état 259
3.3.2 Propriétés se rapportant aux enregistrements et à leur mise à jour. 259
3.3.3 Propriétés se rapportant à la présentation de l'état 260
3.3.4 Propriétés renvoyant un objet 261
3.3.5 Propriétés relatives à l'impression de l'état 262
3.3.6 Autres propriétés 262
3.4 Méthodes 263

4. Les objets Control 264

4.1 Syntaxes 264


4.2 Propriétés communes à la plupart des contrôles 265
4.2.1 Propriétés renvoyant des objets 265
4.2.2 Autres propriétés 265
4.3 Méthodes communes à la plupart des contrôles 265
4.4 La méthode Move 266

5. Les contrôles d'Access 266


5.1 Présentation 266
5.2 Liste des contrôles Access 267

Amélioration de l'interface utilisateur

1. Les options de démarrage 269

2. Personnalisation du ruban 272

2.1 Présentation 272


2.2 Configuration d'Access pour la personnalisation du ruban 272
2.2.1 Affichage des tables systèmes dans le volet de navigation 272
2.2.2 Affichage des messages d'erreurs contenus dans le code XML 273
2.3 Création d'une table système USysRibbons 274
2.4 Ajout du code XML de personnalisation à la table USysRibbons 274
2.5 Association du ruban à l'application active 275

www.editions-eni.fr © Editions ENI 9/13


VBA Access 2013
Programmer sous Access

2.6 Association du ruban à un formulaire ou un état 276

3. Présentation du langage XML 277


3.1 Le langage XML 277
3.2 Éléments XML utilisés pour personnaliser le ruban 278
3.2.1 Les principales balises XML utilisées dans le code XML d'un ruban 278
3.2.2 Les propriétés associées aux objets du ruban 278

4. Exemple de ruban personnalisé 280

4.1 Code XML du ruban personnalisé 280


4.2 Code VBA appelé par les commandes du ruban personnalisé 284

5. Images de la galerie des icônes Microsoft Office 285

Communication avec les applications Office

1. La technologie Automation 287


1.1 Présentation 287
1.2 Utilisation de la technologie Automation 289

2. Piloter Word depuis Access 290

2.1 Le modèle objet Word 290


2.2 Principales collections du modèle objet Word 291
2.3 Principaux objets du modèle objet de Word 292
2.4 La collection Documents 293
2.5 Les objets Document 294

3. Piloter Excel depuis Access 298

3.1 Le modèle Objet Excel 298


3.2 Principales collections de l'application Excel 299
3.3 La collection Workbooks 300
3.4 Les objets Workbook 300
3.4.1 Principales méthodes de l'objet Workbook 300

www.editions-eni.fr © Editions ENI 10/13


VBA Access 2013
Programmer sous Access

3.4.2 Principales collections associées à l'objet Workbook 301


3.5 Écriture de données dans des cellules Excel 302

4. Piloter Outlook depuis Access 304


4.1 Le modèle Objet Outlook 304
4.2 Exemple : affichage des contacts Outlook 305

Programmation Internet

1. Import et export de données au format XML 307


1.1 La méthode ExportXML 308
1.2 La méthode ImportXML 310
1.3 Exemple d'import/export XML 310

2. Exemple de création d'un fichier HTML 314

Programmation Windows

1. Présentation des API 317

2. Appel d'une fonction de l'API Windows 318

2.1 Syntaxe de l'instruction Declare 318


2.2 Passage des arguments 319

3. Liste de fonctions API Windows 321

4. Exemples d'utilisation de fonctions API Windows 322

4.1 Récupération du répertoire Windows 322


4.2 Lancement de l'application Excel si non active 323
4.3 Récupération d'une valeur dans un fichier .ini 324

www.editions-eni.fr © Editions ENI 11/13


VBA Access 2013
Programmer sous Access

5. L'objet FileSystemObject 326


5.1 Méthodes 326
5.2 Propriétés 327
5.3 Exemple 327

Code d'une mini-application

1. Présentation 329

1.1 Énoncé du problème 329


1.2 Base de données Formations 330
1.3 Modèle relationnel de la base 330

2. Formulaire "Formations" 331

2.1 Liste des contrôles 332


2.2 Code VBA 333
2.3 Sous-formulaire "SF Participants" 337
2.4 Code VBA 338

3. Formulaire "Recherche" 339

3.1 Liste des contrôles 340


3.2 Code VBA 340
3.3 Sous-formulaire "SF Formations" 343
3.4 Etat "Formations" 344

Annexes

1. Fonctions et instructions VBA 347

1.1 Manipulation de chaînes de caractères 347


1.2 Contrôle du déroulement du programme 348
1.3 Conversion de données 349
1.4 Date et heure 351

www.editions-eni.fr © Editions ENI 12/13


VBA Access 2013
Programmer sous Access

1.5 Déclaration 352


1.6 Domaine 353
1.7 Échange dynamique de données 353
1.8 Entrées/sorties fichiers 354
1.9 Finance 356
1.10 Gestion d'erreurs 357
1.11 Graphiques dans les états imprimés 357
1.12 Liaisons et incorporation d'objets 358
1.13 Manipulation d'objets 358
1.14 Mathématiques 358
1.15 SQL 359
1.16 Tableaux 360
1.17 Vérification de variables 361
1.18 Fonctions et instructions diverses 361
1.19 Codes erreurs récupérables 362

2. Constantes VBA 368

2.1 Constantes de couleur 368


2.2 Constantes de date 368
2.3 Constantes des touches clavier lettres et chiffres 369
2.4 Constantes de touches de fonction 369
2.5 Constantes de touches diverses 370

3. Raccourcis-clavier 371

Index 373

www.editions-eni.fr © Editions ENI 13/13

Vous aimerez peut-être aussi