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