Dominique Maniez
FORMATION À VBA
Ce livre vous est destiné si vous voulez apprendre à
programmer vos propres fonctions dans les princi-
paux logiciels de la suite Microsoft Office. Même si
vous n’avez aucune expérience de la programmation
vous réussirez grâce à cet ouvrage à écrire des macros
qui pourront vous éviter intelligemment des heures de
travail fastidieux.
Grâce à une progression pédagogique qui explique
l’essentiel et laisse de côté le superflu vous pourrez
rapidement maîtriser VBA, le langage de programma-
tion de Microsoft Office. Par affinements successifs
vous construirez des macros de plus en plus com-
plexes et vous pourrez ainsi assimiler en douceur les
concepts fondamentaux de VBA.
Comme la programmation s’apprend en lisant des pro-
grammes, vous trouverez dans ce livre de très nom-
breux exemples de code.
Téléchargez tous les exemples de code
sur www.dunod.com
DOMINIQUE MANIEZ
a écrit et traduit une
cinquantaine d’ouvrages
dont la plupart traitent
des technologies
Microsoft.
Développeur, journaliste
et universitaire,
il prône une conception
de l’informatique proche
de l’utilisateur, bannit
le jargon technique et
milite pour que la chose
informatique ne soit pas
la propriété exclusive
des informaticiens.
D
.
M
A
N
I
E
Z
F
F
o
o
r
r
m
m
a
a
t
t
i
i
o
o
n
n
à
à
V
V
B
B
A
A
6637326
ISBN 978-2-10-050872-3
www.dunod.com
Dominique Maniez
Formation à…
VBA
VBA
Visual Basic pour Applications
Visual Basic pour Applications
pour Word, Excel,
pour Word, Excel,
PowerPoint, Access et Outlook
PowerPoint, Access et Outlook
maniez-prelims Page I Vendredi, 26. janvier 2007 2:16 14
FORMATION À
VBA
07
07
07
07
maniez-prelims Page II Vendredi, 26. janvier 2007 2:16 14
Vos documents longs avec Word
Réalisez efficacement vos mémoires,
romans, thèses, rapports…
Dominique Maniez
192 p.
Dunod, 2007.
Programmation et algorithmique
en VBA pour Excel
Anne Brygoo, Maryse Pelletier,
Michèle Soria et Séverine Dubuisson
240 p.
Dunod, 2007.
maniez-prelims Page III Vendredi, 26. janvier 2007 2:16 14
FORMATION À
VBA
Dominique Maniez
Développeur, journaliste et universitaire
maniez-prelims Page IV Vendredi, 26. janvier 2007 2:16 14
Toutes les marques citées dans cet ouvrage sont
des marques déposées par leurs propriétaires respectifs.
:
© Dunod, Paris, 2007
ISBN 978-2-10-050872-3
tdm.fm Page V Vendredi, 26. janvier 2007 10:03 10
Table des matières
Avant-propos . . . . . . . . . . . . . . . . . . . . . . XIII
Partie 1
Apprendre à programmer
Chapitre 1 – Qu’est-ce que programmer ? . . . . . . . .
Plusieurs niveaux de programmation . . . . . . . . .
Les langages de programmation . . . . . . . . . . . .
La syntaxe . . . . . . . . . . . . . . . . . . . . . . .
Les phases de conception d’un programme . . . . . .
La phase d’étude préalable . . . . . . . . . . . . .
La phase d’analyse . . . . . . . . . . . . . . . . .
La phase d’encodage . . . . . . . . . . . . . . . .
La phase de test . . . . . . . . . . . . . . . . . .
La phase de production . . . . . . . . . . . . . .
Chapitre 2 – Enregistrer une macro . . . . . . . . . . .
L’enregistreur de macros . . . . . . . . . . . . . . . .
Quand devez-vous enregistrer une macro ? . . . .
Enregistrement de votre première macro . . . . . .
Exécuter une macro . . . . . . . . . . . . . . . . . .
Où sont stockées les macros . . . . . . . . . . . . . .
Comment assigner un raccourci clavier
à une macro ? . . . . . . . . . . . . . . . . . . . . . .
Comment associer une icône à une macro ? . . . . . .
Conseils pour l’enregistrement des macros . . . . . .
3
5
6
7
8
8
9
10
10
10
13
14
14
15
17
18
21
23
26
tdm.fm Page VI Vendredi, 26. janvier 2007 10:03 10
VI
Formation à VBA
Le choix du nom des macros . . . . . . . . . . . . . .
Les limitations de l’enregistreur de macros . . . . .
Enregistrement d’une macro avec Excel . . . . . . . .
Chapitre 3 – Modifier le code des macros . . . . . . . .
Voir le code de la macro . . . . . . . . . . . . . . . .
Modifier le code de la macro . . . . . . . . . . . . .
Partie 2
Le langage VBA
Chapitre 4 – Syntaxe de VBA . . . . . . . . . . . . .
55
Chapitre 5 – Variables et tableaux . . . . . . . . . . .
73
Historique de VBA . . . . . . . . . . . . . . . . . . .
Différences entre Visual Basic et VBA . . . . . . . .
Syntaxe de VBA . . . . . . . . . . . . . . . . . . . .
Variables . . . . . . . . . . . . . . . . . . . . . . . .
Constantes . . . . . . . . . . . . . . . . . . . . . . .
Opérateurs . . . . . . . . . . . . . . . . . . . . . . .
Mots clés . . . . . . . . . . . . . . . . . . . . . . . .
Instructions . . . . . . . . . . . . . . . . . . . .
Types de données . . . . . . . . . . . . . . . . . . . .
Les dates . . . . . . . . . . . . . . . . . . . . .
Les caractères . . . . . . . . . . . . . . . . . . .
Les nombres . . . . . . . . . . . . . . . . . . . .
Le type de données Variant . . . . . . . . . . . .
Les erreurs de type . . . . . . . . . . . . . . . . .
Les expressions . . . . . . . . . . . . . . . . . .
Visibilité des variables . . . . . . . . . . . . . . . . .
Tableaux . . . . . . . . . . . . . . . . . . . . . . . .
27
29
32
37
38
47
55
56
57
58
63
65
68
70
73
76
79
80
82
82
83
85
88
tdm.fm Page VII Vendredi, 26. janvier 2007 10:03 10
Table des matières
Chapitre 6 – Tests conditionnels . . . . . . . . . . . .
Les tests conditionnels . . . . . . . . . . . . . . . . .
If Then Else . . . . . . . . . . . . . . . . . . . .
Traiter plus de deux choix . . . . . . . . . . . . .
Opérateur logique dans une condition . . . . . .
Imbriquer des tests conditionnels . . . . . . . . . . .
Select Case . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 7 – Boucles . . . . . . . . . . . . . . . . . . 103
For Next . . . . . . . . . . . . . . . . . . . . . . . .
Sortir de la boucle . . . . . . . . . . . . . . . . .
While Wend . . . . . . . . . . . . . . . . . . . . . .
Do Loop . . . . . . . . . . . . . . . . . . . . . . . .
Expression logique . . . . . . . . . . . . . . . . .
Null . . . . . . . . . . . . . . . . . . . . . . . .
Empty . . . . . . . . . . . . . . . . . . . . . . .
Gare aux boucles infinies . . . . . . . . . . . . . . .
Différences entre While et Until . . . . . . . . . . .
Chapitre 8 – Procédures et fonctions . . . . . . . . . . 125
Procédures et fonctions . . . . . . . . . . . . . . . .
Syntaxe d’une fonction . . . . . . . . . . . . . . . .
MsgBox en détail . . . . . . . . . . . . . . . . .
Fonctions de Visual Basic par catégorie . . . . . .
Écrire ses propres fonctions . . . . . . . . . . . .
Les paramètres facultatifs . . . . . . . . . . . . .
VII
91
91
92
94
96
97
99
103
109
111
114
116
117
118
119
121
126
127
132
145
161
166
Partie 3
Modèles d’objets
Chapitre 9 – Objets . . . . . . . . . . . . . . . . . . . 171
Définition d’un objet . . . . . . . . . . . . . . . . . .
172