Livre Macros excel.book

Transcription

Livre Macros excel.book
Livre Macros excel.book Page I Vendredi, 3. avril 2009 7:45 07
L E P R O G R A M M E U R
Microsoft ®
®
Excel & VBA
Version 97, 2000, XP, 2003 et 2007
Mikaël Bidault
Livre Macros excel.book Page V Vendredi, 3. avril 2009 7:45 07
Table des matières
Introduction ............................................
1
CHAPITRE 2. Premières macros .............
VBA, c’est quoi ? ................................
2
Créer une macro GrasItalique .............
36
Des programmes ..............................
4
Démarrer l’enregistrement ...............
37
Une application hôte et des projets ...
5
Un langage de programmation .........
6
Enregistrer les commandes
de la macro ......................................
39
Un environnement de travail ............
8
Exécuter la macro ............................
40
Conventions typographiques ...............
9
Structure de la macro .......................
42
Améliorer la macro ..........................
47
I – Découvrir la programmation
Excel
CHAPITRE 1. Notions fondamentales
de la programmation orientée objet
11
13
Comprendre le concept d’objet ...........
14
Objets et collections d’objets ...........
14
Application hôte et modèles d’objets
16
Accéder aux objets ...........................
19
Les propriétés ..................................
21
Les méthodes ...................................
26
Les événements ................................
28
Les fonctions ...................................
28
Le modèle d’objets d’Excel ................
29
35
Une autre méthode d’enregistrement ....
50
Enregistrement .................................
50
Structure de la macro .......................
51
Ecrire la macro ....................................
51
Exécution de la macro ......................
53
Choisir l’accessibilité des macros .......
54
Accessibilité globale ou limitée ........
54
Classeurs et modèles ........................
55
Le classeur de macros personnel ......
55
Les macros complémentaires ............
56
Définir le classeur de stockage
lors de l’enregistrement d’une macro
61
Accéder aux macros d’un classeur
spécifique ........................................
61
Livre Macros excel.book Page VI Vendredi, 3. avril 2009 7:45 07
VI
Excel et VBA
CHAPITRE 3. Déplacement et sélection
dans une macro Excel ..............................
Ajouter un module ..................................
148
63
Supprimer un module .............................
150
Méthodes de sélection dans une feuille
Excel ..........................................................
64
Créer une procédure ...................................
Ecrire l’instruction de déclaration ..........
151
151
La boîte de dialogue Ajouter
une procédure .........................................
152
La notion de portée ................................
154
Ecriture et mise en forme du code ...........
155
Déplacer une procédure .........................
160
Appel et sortie d’une procédure .................
Appel d’une procédure Sub .....................
161
161
Appels de procédures Function
et Property .............................................
162
Clavier .......................................................
64
Souris .....................................................
Références relatives et références absolues .
66
66
67
Coder les déplacements effectués
lors de l’enregistrement d’une macro ........
Référence absolue aux cellules ................
Référence relative aux cellules ................
69
69
77
Notion de cellule active ...........................
Référence aux cellules fonction
de leur contenu .......................................
80
83
Référence aux plages de cellules nommées
CHAPITRE 4. Découvrir Visual Basic Editor
85
Accéder à Visual Basic Editor ....................
86
Les outils et les fenêtres de Visual Basic Editor
L’Explorateur de projet ...........................
L’Explorateur d’objets ............................
La fenêtre UserForm ...............................
La fenêtre Code ......................................
La fenêtre Propriétés ..............................
Les barres d’outils ..................................
88
89
93
100
103
115
119
Paramétrer Visual Basic Editor ..................
123
II – Programmer en Visual Basic
CHAPITRE 5. Développer dans
Visual Basic Editor ...................................
127
Passage d’arguments ..............................
163
Sortie d’une procédure ...........................
165
Sortie d’un programme ...........................
166
Exécuter du code .......................................
167
Aide à l’écriture de code ............................
Vérification automatique de la syntaxe ....
167
168
Complément automatique des instructions
169
Info express automatique ........................
170
CHAPITRE 6. Variables et constantes ............
171
Déclarer une variable .................................
Déclaration implicite ..............................
172
172
Déclaration explicite ..............................
173
Types de données des variables .................
Chaînes de caractères .............................
176
176
Valeurs numériques ................................
178
129
Valeurs booléennes .................................
181
Structure des programmes Visual Basic ..... 130
Les modules ............................................ 130
Les procédures ........................................ 131
Les instructions ...................................... 133
Dates .....................................................
181
Type Variant ...........................................
182
Les différents types de procédures ............. 135
Procédures Sub ....................................... 136
Procédures Function ............................... 140
Procédures Property ............................... 143
Des projets bien structurés .........................
148
Variables de matrice ...............................
183
Variables objet .......................................
187
Types de données personnalisés ..............
192
Constantes .............................................
194
Validation et conversion des types
de données .............................................
195
Portée et durée de vie des variables ...........
198
Livre Macros excel.book Page VII Vendredi, 3. avril 2009 7:45 07
Portée de niveau procédure .....................
Portée de niveau module privée ..............
Portée de niveau module publique ...........
Variables statiques .................................
Traitement interapplications à l’aide
de variables objet .......................................
CHAPITRE 7. Contrôler
les programmes VBA ...............................
198
198
199
199
200
Table des matières
VII
CHAPITRE 9. Manipulation des chaînes
de caractères ............................................
267
Modifier des chaînes de caractères ............
Concaténer des chaînes ..........................
268
268
Insérer des caractères non accessibles
au clavier ...............................................
Répéter une série de caractères ..............
205
Répéter une série d’instructions :
les boucles ..................................................
La boucle While...Wend ..........................
La boucle Do...Loop ...............................
La boucle For...Next ................................
La boucle For Each...Next .......................
206
206
210
214
219
Utiliser des instructions conditionnelles ....
La structure de contrôle If...Then...Else ...
La structure de contrôle Select Case .......
223
223
227
Définir l’instruction suivante avec GoTo ...
229
Supprimer les espaces superflus
d’une chaîne ..........................................
270
271
Extraire une partie d’une chaîne .............
272
272
Effectuer des remplacements au sein
d’une chaîne ..........................................
274
Modifier la casse des chaînes de caractères 275
Comparer des chaînes de caractères ..........
275
Rechercher dans les chaînes de caractères
Rechercher une chaîne dans une chaîne ...
277
277
Rechercher une chaîne dans une variable
de matrice ..............................................
280
CHAPITRE 10. Débogage et gestion
des erreurs ................................................
283
284
285
287
288
290
Interagir avec l’utilisateur via des boîtes
de dialogue .................................................
La fonction InputBox ..............................
La méthode InputBox ..............................
La fonction MsgBox ...............................
Affichage de boîtes de dialogue Excel ......
229
230
234
236
241
Les étapes et les outils du débogage ..........
Test du projet .........................................
Exécuter pas à pas .................................
La fenêtre Variables locales ....................
Les points d’arrêt ...................................
Utiliser les opérateurs logiques ..................
246
Trier des données .......................................
247
Modifier l’ordre d’exécution
des instructions ......................................
CHAPITRE 8. Fonctions Excel et VBA ...........
251
Utiliser les fonctions Excel dans VBA ......
252
La pile des appels ..................................
291
291
292
294
Créer des fonctions Excel personnalisées ....
252
Exemple de débogage ................................
Recherche du bogue ...............................
Résolution du bogue ...............................
295
297
298
Gestion des erreurs et des exceptions ........
301
Exemple de gestion d’erreur ......................
303
Intégrer une fonction via l’Explorateur
d’objets ......................................................
254
Insérer une fonction VBA dans votre code 254
Insérer une fonction Excel dans votre code 255
La fenêtre Exécution ...............................
Les espions ............................................
Recommandations pour l’écriture
de fonctions Excel .....................................
256
CHAPITRE 11. Intégrer des applications
VBA dans l’interface d’Excel .................
305
Les limites de la cellule ............................
256
Affecter une macro à un raccourci clavier .
306
Des fonctions toujours à jour ..................
257
Principales fonctions VBA ........................
257
Personnaliser la barre d’outils
Accès rapide d’Excel 2007 ........................
307
Livre Macros excel.book Page VIII Vendredi, 3. avril 2009 7:45 07
VIII
Excel et VBA
Affecter une macro à un bouton .................
309
Affecter une macro à une commande
de menu ......................................................
310
Réorganiser les boutons ..........................
Supprimer une commande de menu ...........
312
Grouper ou séparer des contrôles ...........
337
338
339
340
Modifier l’image et/ou le nom
d’une commande ........................................
313
Affecter une macro à un objet ....................
315
Personnaliser la boîte à outils ....................
Ajouter/supprimer un contrôle ................
Ajouter/supprimer une page ....................
341
341
343
Afficher/masquer une feuille .....................
345
CHAPITRE 13. Exploiter les propriétés
des contrôles ActiveX ...............................
347
III – Développer
des interfaces utilisateur
Uniformiser l’espace entre les contrôles .
Centrer les contrôles ..............................
317
Propriété Name ..........................................
349
Apparence ..................................................
350
CHAPITRE 12. . Créer des interfaces
utilisateur ..................................................
319
Alignment .................................................
350
Les phases de développement de feuilles ..
320
BackColor ..............................................
Créer une feuille .........................................
321
BackStyle ...............................................
Les contrôles de la boîte à outils ................ 323
Outil Sélection ........................................ 323
BorderColor ...........................................
Visible ....................................................
350
351
351
351
352
353
353
353
354
354
356
Comportement ...........................................
359
AutoSize ....................................................
359
AutoTab ..................................................
360
360
361
362
362
364
364
364
365
365
365
366
367
Contrôle Label .......................................
323
Contrôle TextBox ....................................
324
Contrôle ComboBox ...............................
325
Contrôle Frame ......................................
325
Contrôle ListBox ....................................
325
Contrôle CheckBox .................................
326
Contrôle OptionButton ...........................
327
Contrôle ToggleButton ............................
327
Contrôle CommandButton ......................
327
Contrôle TabStrip ...................................
328
Contrôle MultiPage ................................
328
Contrôle ScrollBar .................................
329
Contrôle SpinButton ...............................
330
Placer des contrôles sur une feuille ............ 330
Copier-coller des contrôles ..................... 332
BorderStyle ............................................
Caption ..................................................
ControlTipText ........................................
ForeColor ...............................................
SpecialEffect ..........................................
Style .......................................................
Value ......................................................
AutoWordSelect ......................................
Cancel ...................................................
Default ...................................................
Enabled ..................................................
EnterKeyBehavior ..................................
HideSelection .........................................
Sélectionner plusieurs contrôles ..............
333
Locked ...................................................
Supprimer des contrôles .........................
334
MaxLenght .............................................
Mise en forme des contrôles ...................... 334
La grille ................................................. 335
MultiLine ...............................................
SelectionMargin .....................................
Aligner les contrôles ...............................
336
Style .......................................................
Uniformiser la taille des contrôles ..........
337
TabKeyBehavior .....................................
Livre Macros excel.book Page IX Vendredi, 3. avril 2009 7:45 07
Table des matières
TextAlign ................................................
IX
Contrôle ComboBox ...............................
406
Contrôle ListBox ....................................
411
WordWrap ..............................................
367
367
368
Contrôles CheckBox et OptionButton ......
414
Défilement .................................................
369
Contrôle ScrollBar .................................
415
ScrollBars .................................................
369
Contrôle SpinButton ...............................
417
KeepScrollsVisible ..................................
Exploiter les informations
d’une feuille VBA ......................................
420
LargeChange ..........................................
370
370
371
372
372
Divers .........................................................
373
TripleState ..............................................
Delay .....................................................
Max et Min .............................................
SmallChange ..........................................
Accelerator ...............................................
373
GroupName ............................................
Tag .........................................................
374
375
375
376
377
379
379
Emplacement .............................................
379
HelpContextID .......................................
MouseIcon .............................................
MousePointer .........................................
TabIndex ................................................
TabStop ..................................................
IV – Notions avancées
de la programmation Excel
423
CHAPITRE 15. Programmer des événements
utilisateur .................................................
425
L’objet Application ....................................
426
Déclaration et instanciation
de l’objet Application .............................
426
Création de procédures événementielles
de niveau application .............................
427
Propriétés de l’objet Application ............
429
Méthodes de l’objet Application .............
431
Height et Width .........................................
379
Left et Top ..............................................
L’objet ThisWorkbook ...............................
431
StartUpPosition ......................................
379
380
L’objet Worksheet ......................................
433
Image .........................................................
381
Picture ......................................................
381
CHAPITRE 16. Protéger et authentifier
des projets VBA .......................................
437
PictureAlignment ....................................
Les virus macro .........................................
438
Se protéger des virus macros .....................
438
PictureTiling ..........................................
382
383
384
384
Police .........................................................
385
Définir un niveau de sécurité
dans Excel 2007 ....................................
438
Font ...........................................................
385
Définir un niveau de sécurité
avec Excel 2000, XP et 2003 ....................
440
CHAPITRE 14. Programmer
les interfaces utilisateur ...........................
387
Effectuer des sauvegardes des macros .....
444
Créer des procédures événementielles .......
Créer une procédure ...............................
Les événements .......................................
388
388
394
Exemples d’exploitation des contrôles ......
Contrôle Label .......................................
Contrôle TextBox ....................................
400
401
403
PictureSizeMode ....................................
PicturePosition .......................................
Protéger l’accès aux macros ......................
445
Verrouiller un projet ...............................
445
Limiter les droits d’exécution d’une macro 447
Authentifier ses macros .............................
457
Obtenir une authentification ...................
458
Authentifier une macro ...........................
459
Livre Macros excel.book Page X Vendredi, 3. avril 2009 7:45 07
X
Excel et VBA
CHAPITRE 17. Bonus : exemple complet
d’application Excel ..................................
461
Présentation d’un projet d’application
Excel .........................................................
462
Identification des informations à recueillir 463
Définition de la structure du programme . 464
Création du modèle Excel ..........................
470
Feuille fmContratDates ..........................
498
Feuille fmContratImpression ...................
504
Feuille fmContratFin ..............................
510
Ecriture des procédures d’édition
de documents .............................................
Edition des feuilles de paie .....................
Mise à jour du Tableau Word ..................
511
511
514
Création des interfaces ...............................
472
Feuille fmContratAuteur .........................
472
ANNEXE . Manipulation des fichiers
et des dossiers ...........................................
517
Feuille fmContratConditions ...................
484
Index ..............................................................
521

Documents pareils