Macros et langage VBA

Transcription

Macros et langage VBA
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
Introduction
A. Introduction
15
B. À qui s'adresse ce livre ?
15
C. Qu’est-ce qu’une macro ?
15
D. Quel intérêt de faire des macros ?
16
E. Contenu de ce livre
16
L'éditeur de Visual Basic
A. Introduction
19
B. Comment lancer Visual Basic Editor ?
20
1. Version Excel 03 (ou antérieure)
2. Version Excel 07 ou postérieure
20
20
C. L’interface
21
1. Les modules
2. Les boîtes de dialogue personnalisées
3. Les barres d’outils
22
24
25
La programmation en Visual Basic
A. Introduction
29
B. Qu'est-ce qu'un objet ?
29
www.editions-eni.fr
© Editions ENI
1/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
1. Propriété d'un objet
2. Méthode d'un objet
29
29
C. Règle de codification
30
1. Association d'objets
2. Association de propriétés ou de méthodes
D. Codification des cellules et des plages de cellules
1. La cellule
2. La plage de cellules
3. Les cellules nommées
30
31
31
31
32
32
E. Signification du signe =
32
F. Les procédures
33
G. Les fonctions
33
Premier programme
A. Introduction
37
B. L’Enregistreur de macros
37
1. Version Excel 2003 (et inférieure)
2. Version Excel 2007 (et supérieure)
38
39
C. Premier exercice
40
D. Examen du code
44
E. Exécution du code
44
www.editions-eni.fr
© Editions ENI
2/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
F. Synthèse
45
Les variables
A. Introduction
49
B. Qu'est-ce qu'une variable ?
49
C. Déclaration d'une variable
50
1. Déclaration obligatoire ou pas ?
2. Type de variable
a. Déclaration de texte
b. Déclaration de dates
c. Déclaration d'objets
d. Déclaration de nombres
e. Déclaration booléenne
f. Déclaration fourre-tout
3. L'instruction Dim
4. L'instruction Static
5. L'instruction Public
50
51
51
51
51
51
52
52
52
52
53
D. Cas pratique de l'utilisation d'une variable
54
E. Les tableaux
55
1. Présentation
2. Déclaration
3. Utilisation
4. Chargement d'un tableau
5. Redimensionnement d'un tableau
6. Tableau à plusieurs dimensions
7. L'avantage des tableaux
www.editions-eni.fr
55
55
56
56
57
58
58
© Editions ENI
3/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
Les conditions
A. Introduction
61
B. L'instruction If
61
1. Présentation
2. Exemple d'application
3. Explication
4. Transformation du code
5. Raccourci d'écriture
6. Condition imbriquée
61
62
63
63
64
65
C. L'instruction SELECT CASE
66
1. Présentation
2. Exemple d'utilisation
a. Test sur une seule valeur
b. Test sur plusieurs valeurs non contiguës
c. Test sur des valeurs contiguës
3. Réversibilité
66
66
66
67
67
68
D. IF ou SELECT CASE ?
69
E. Exemple d’utilisation
69
1.
2.
3.
4.
Présentation du problème
Création des paramètres
Création du test dans le programme
Programme complet
69
70
71
72
Les boucles
A. Introduction
www.editions-eni.fr
75
© Editions ENI
4/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
B. L'instruction For ... Next
75
1. Premier exemple de boucle
2. Explication du code
3. Exemple de boucle avec deux variables
a. Étape n°1
b. Étape n°2
c. Étape n°3
d. Synthèse
C. Boucle selon condition
76
76
77
77
77
77
78
78
1. While ... Wend
a. Principe
b. Exemple d'application
c. Contrainte
2. Exemple de code
3. Do ... Loop
a. Présentation
b. Exemple d'application
c. Explication du code
d. Amélioration du code
e. Travailler sur deux feuilles
78
78
78
79
79
82
82
83
84
84
86
D. Boucle sur des objets Excel
87
1. Présentation
2. Explication du code
87
87
Débogage
A. Introduction
91
B. Présentation
91
www.editions-eni.fr
© Editions ENI
5/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
C. Lecture "pas à pas"
92
D. Espionner les variables
93
E. La fenêtre Espions
94
F. Le point d'arrêt
95
G. Arrêt selon condition
97
H. Exemple d'application
98
1. Résolution de la première erreur
2. Résolution de la seconde erreur
99
101
Structure d'un programme
A. Introduction
107
B. Principe de la programmation modulaire
107
C. Paramètres d'appel
107
1. Contrainte
2. Exemple d’application depuis une feuille de calcul
3. Transmettre une plage de cellules
4. Faire un appel depuis une procédure
D. Exemple d'application
111
1. Étape 1 : création du code pour la première cellule
2. Étape 2 : extraction du calcul de la somme dans une fonction
3. Étape 3 : création de la fonction Moyenne
4. Étape 4 : indépendance vis-à-vis du nombre de cellules à additionner
www.editions-eni.fr
107
108
109
110
© Editions ENI
112
112
113
114
6/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
5. Étape 5 : création de la boucle pour les lignes
6. Étape 6 : création de la boucle sur les colonnes
7. Conclusion
E. Accéder aux procédures et fonctions d’un programme
114
115
116
117
Les fonctions de base
A. Les opérateurs
121
1. Les opérateurs arithmétiques
2. Les opérateurs de comparaison
3. Les opérateurs logiques (ou booléens)
B. Conversion de variable
121
122
123
125
1. Fonctions de conversion
2. Tester une variable
125
125
C. Fonctions mathématiques
126
1. Fonctions usuelles
2. Les fonctions Excel
126
127
Gérer les chaînes de caractères
A. Introduction
131
B. Fonctions de base
131
1. L'opérateur &
2. L'instruction Left
3. L'instruction Right
4. L'instruction Len
a. Extraction d'une partie d'une cellule
5. Remplacement
www.editions-eni.fr
© Editions ENI
131
133
133
133
135
135
7/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
a. Fonction Mid
b. Fonction Replace
6. Positionnement d'un caractère
7. Découper une chaîne
8. Suppression des espaces
9. Tous les caractères en majuscules
10. Tous les caractères en minuscules
11. Majuscules et minuscules
12. Inverser les lettres
13. Comparaison de chaînes
a. Fonction StrComp
b. Fonction Like
14. Les caractères ASCII
C. Lire un fichier texte
142
1. Ouvrir le fichier texte
a. Le chemin et le nom du fichier
b. Le type d'accès
c. Numéro de fichier
2. Lire une ligne
3. L'instruction EOF
4. Fermer un fichier
5. Exercice : Extraire les données d'un fichier texte
a. Ouvrir et lire le fichier
b. Découpage en colonne
c. Déterminer la structure du fichier
d. Écrire le résultat dans Excel
e. Gestion des appels des procédures
D. Découpage selon un caractère de séparation
1. Récupération des lignes souhaitées
2. Segmentation sur le caractère virgule
3. Segmentation sur le caractère espace
4. Concaténation des villes
www.editions-eni.fr
135
136
136
138
138
138
138
139
139
139
139
140
141
© Editions ENI
142
143
143
143
143
143
144
144
145
145
146
148
149
150
151
152
152
153
8/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
E. Création d'un fichier texte
155
1. Création d'un fichier
2. Écriture d'une ligne
3. Déclaration des variables
4. Exemple d’application
155
155
156
156
Gestion des dates et des heures
A. Introduction
161
B. Introduction aux dates
161
1. Paramétrer les dates
2. Est-ce que ma cellule contient une date ?
3. Mettre en forme une date
161
163
164
C. Les fonctions de base
165
D. Les fonctions d'extraction
166
1. Extraction sur les dates
2. Extraction sur les heures
166
167
E. L'instruction DateSerial
167
1. Convertir un nombre en date
2. Effectuer des opérations sur les dates
3. Manipulation sur les dates
4. Intégration dans une boucle
F. Calculer la différence entre deux dates
171
1. La fonction DATEDIF dans Excel
2. La fonction DATEDIFF en VBA
3. Intégration de la fonction DATEDIF d’Excel en VBA
www.editions-eni.fr
167
168
168
169
© Editions ENI
171
172
172
9/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
G. Fonctions sur les semaines
1.
2.
3.
4.
173
Quel jour dans la semaine ?
Nombre de jours ouvrés dans la semaine
Numéro de semaine
Jours fériés
173
173
173
174
Travail sur un classeur Excel
A. Introduction
179
B. Manipulation sur les classeurs
179
1. Différence entre Worbooks et ActiveWorkbook
2. Ouvrir un classeur
3. Fermer un classeur
4. Enregistrer un classeur
5. Enregistrer un classeur sous un nouveau nom
180
180
181
181
181
C. Les propriétés d'un classeur
181
D. Interagir sur l'application Excel
183
E. L'objet Application
184
1. ScreenUpdating
2. DisplayAlerts
3. StatusBar/DisplayStatusBar
4. La boîte de dialogue Ouvrir
5. La boîte de dialogue Sauver sous
6. Agir sur les commandes
7. Activer les déplacements à la souris
8. Ajouter un temps de latence
9. Appel de fonctions de calcul d’Excel
www.editions-eni.fr
© Editions ENI
184
184
185
185
185
186
186
186
187
10/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
Travail sur les fichiers
A. Introduction
193
B. Opération sur les fichiers
193
1. Copier un fichier
2. Renommer un fichier
3. Déplacer un fichier
4. Supprimer un fichier
5. Récupérer l'heure et la date d'un fichier
6. Trouver la taille d'un fichier
7. Trouver un fichier dans un répertoire
C. Opérations sur les répertoires
193
194
194
194
195
195
195
196
1. Définir un répertoire de travail
2. Créer un répertoire
3. Supprimer un répertoire
4. Test pour savoir si un répertoire existe
D. "Balayer" un répertoire
196
197
197
197
198
1. Boucle sur les fichiers
2. Boucle sur les répertoires
3. L'instruction FileSearch
4. Création d’une boucle récursive
198
198
200
200
E. Récupérer des données sans ouvrir un classeur
202
F. Sélectionner un répertoire
203
G. Sélectionner un fichier
203
Optimisation
www.editions-eni.fr
© Editions ENI
11/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
A. Introduction
207
B. Amélioration du code de l'Enregistreur de macros
207
1. Enregistrement d'une macro
2. L'instruction Select
3. L'instruction Copy
4. Transfert de données
5. Le bloc de données With ... End With
6. Le code optimisé
C. Instructions de recherche
208
209
209
209
210
210
211
1. La méthode FIND
2. Résultat d'une recherche
3. Recherche de l'élément suivant
4. Options de recherche
5. Trouver le numéro de la ligne
211
211
212
213
214
D. Optimisation dans un tableau en mémoire
215
1. Utilité de travailler avec des tableaux en mémoire
2. Tableau à une ou deux dimensions
a. Tableau à une dimension
b. Tableau à deux dimensions
3. Insérer des données dans un tableau en mémoire
4. Effacement d'un tableau
5. Redimensionnement d'un tableau
6. Taille d'un tableau
7. Rechercher dans un tableau
215
215
215
216
218
220
221
221
222
E. Éviter les boucles (optimisation d'une somme)
224
F. Une API pour les millisecondes
226
G. L'environnement 64 Bits
227
www.editions-eni.fr
© Editions ENI
12/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
1. L'instruction PtrSafe
2. Les variables 64 bits
3. Cohabitation plateforme 32 bits/64 bits
H. Connexion avec une base Access
227
227
227
228
1. Présentation
2. Mise en œuvre
3. Mettre à jour une base Access depuis Excel
228
229
232
Appel d'applications externes
A. Introduction
235
B. Supprimer les dll manquantes
235
C. L'instruction CreateObject
237
D. Envoi de mail Outlook
238
1. Programme pour envoyer un courriel
2. Explication du code
3. Boucles sur vos contacts saisis dans une colonne
E. Création d'un fichier PDF
238
239
239
239
1. Fonction pour la génération d'un fichier PDF
2. Export d'un classeur en entier
3. Export d'une feuille de calcul en PDF
240
241
242
Programme lié à des objets graphiques
A. Rappel du lancement par Visual Basic Editor
www.editions-eni.fr
© Editions ENI
245
13/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
B. Combinaison de touches A 8
245
C. Lancement à l’aide d’un bouton ou d’un autre objet
246
1.
2.
3.
4.
Les boutons
Les cases d’option (ou boutons radio)
Les menus déroulants
Positionnement des objets
246
248
251
255
D. Procédure Auto_Open/Auto_Close
257
E. Événement dans une feuille de calcul
257
Les boîtes de dialogue personnalisées
A. Introduction
261
B. Créer une boîte de dialogue
261
1. Insérer un nouveau UserForm
2. Écrire du code dans un UserForm
3. Faire référence à un UserForm
261
263
264
C. Les événements
265
D. Les contrôles
266
E. Positionnement des contrôles
266
F. Ordre de tabulation
271
Les contrôles
www.editions-eni.fr
© Editions ENI
14/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
A. Introduction
275
B. Les étiquettes (ou labels ou intitulés)
275
C. Les zones de texte (ou TextBox)
277
D. Les Boutons (ou CommandButton)
279
1. Ajouter un bouton
2. Le bouton Annuler
3. Le bouton OK
279
279
279
E. Les cases à cocher (Checkbox)
280
F. Les boutons d’option (OptionButton ou bouton Radio)
281
G. Les zones de liste (ou ListBox)
283
1. Présentation
2. Manipuler les données de la liste
3. Alimenter une liste dans le programme
283
285
287
H. Les zones de liste modifiables (les ComboBox ou Menus déroulants)
289
I. Synthèse
291
Gestion des erreurs
A. Introduction
295
B. Les instructions pour la gestion des erreurs
295
1. On Error
2. L'instruction Resume
www.editions-eni.fr
295
296
© Editions ENI
15/16
Macros et langage VBA
Apprendre à programmer sous Excel (3ième édition)
3. L'instruction Err
4. GoTo
5. GoTo 0
296
296
296
C. Redirection des erreurs
297
1. Exemple 1
2. Exemple 2
3. Exemple 3
297
299
299
Annexes
A. Types de variables
303
B. Collections d'objets
305
C. Liste des constantes
306
D. Liste des codes erreurs transmis par Visual Basic
308
E. Liste des caractères non imprimables
310
www.editions-eni.fr
© Editions ENI
16/16

Documents pareils