Michèle AMELOT VBA Excel - Fnac-static

Transcription

À la fois simple, pratique et complet, ce livre sur VBA Excels’adresse aux utilisateurs d’Excel 2019 ou d’Excel Office 365,ou aux développeurs souhaitant créer des applications detableur conviviales, fiables et puissantes.Outre les éléments de base du langage VBA (structure dulangage et concepts de programmation objet) vous permettantd’automatiser les traitements, vous apprendrez à générer destableaux croisés et des graphiques, à concevoir des formulaires, à personnaliser l’interface d’Excel et notamment leruban, à communiquer avec les autres applications Office, àimporter ou publier des pages web et des fichiers XML et àexploiter les fonctions API de Windows.De nombreux exemples sont présentés dans chaque chapitreet le livre se termine par un cas pratique qui vous guide dansla création d’une application Excel.À la fois spécialiste de développements spécifiques et responsablepédagogique, Michèle AMELOTaccompagne depuis plus de 20ans les entreprises dans laconduite de leurs projets informatiques, depuis la phase deconception de la solution jusqu’àla mise en œuvre et le transfert decompétences.C’est, entre autres, cette connaissance approfondie des besoinsdes utilisateurs et des développeurs qui lui permet dans cetouvrage de faciliter l’apprentissage et la pratique de la programmation en langage VBA.Les exemples présentés dans l’ouvrage sont en téléchargement sur le site ni.fr.fr29,90 Pour plusd’informations :ISBN : 978-2-409-01867-1sur www.editions-eni.fr :b Le code source des exemples du livre.VBA Excel (2019 et Office 365)Programmer sous Excel : Macros et langage VBAProgrammer sous Excel : Macros et langage VBAVBA Excel (versions 2019 et Office 365)VBA Excel(versions 2019 et Office 365)Programmer sous ExcelMacros et langage VBAMichèle AMELOT

Table des matièresLes exemples à télécharger sont disponibles à l'adresse suivante :http://www.editions-eni.frSaisissez la référence ENI de l'ouvrage RI19EXCV dans la zone de rechercheet validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement.Avant-proposChapitre 1Présentation1. Présentation du langage VBA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.1 Objectifs du langage VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2 Quelques définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3 Écriture de code VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192. Les macros d'Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.1 Affichage de l'onglet Développeur dans le ruban . . . . . . . . . . . . 202.2 Description de l'onglet Développeur . . . . . . . . . . . . . . . . . . . . . . 202.2.1 Groupe Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2.2 Groupe Compléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2.3 Groupe Contrôles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.3 L'enregistrement de macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.3.1 Enregistrement d'une première macro . . . . . . . . . . . . . . . 222.3.2 Exécuter une macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3.3 Enregistrer une macro avec des référencesde cellules relatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.3.4 Définir le lieu de stockage d'une nouvelle macro . . . . . . . 252.3.5 Supprimer une macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.3.6 Enregistrer un classeur avec des macros . . . . . . . . . . . . . . 272.4 Les macros et la sécurité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.4.1 Modification des paramètres de sécurité. . . . . . . . . . . . . . 282.4.2 Description des différentes options de sécurité . . . . . . . . 282.4.3 Activer les macros lorsque l'avertissement de sécuritéest affiché . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

2VBA Excel (2019 et Office 365)Programmer sous Excel : macros et langage VBA2.4.4 Activer les macros situées dans un emplacement donné . 302.4.5 Signatures électroniques de macros. . . . . . . . . . . . . . . . . . 312.5 Modification du code d'une macro . . . . . . . . . . . . . . . . . . . . . . . 313. Les affectations de macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.1 Accéder à une macro à partir du ruban Office . . . . . . . . . . . . . . 333.2 Associer une macro à une icônede la barre d'outils Accès rapide . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3 Associer une macro à un bouton de commande. . . . . . . . . . . . . 373.4 Associer une macro à une image . . . . . . . . . . . . . . . . . . . . . . . . . 373.5 Associer une macro à une zone d'un objet graphique . . . . . . . . 383.6 Associer une macro à un contrôle ActiveX image . . . . . . . . . . . 384. L'environnement de développement VBE . . . . . . . . . . . . . . . . . . . . . . 394.1 Accès à l'environnement VBE . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2 Fermeture de l'environnement VBE . . . . . . . . . . . . . . . . . . . . . . 404.3 Retour à l'environnement Excel. . . . . . . . . . . . . . . . . . . . . . . . . . 404.4 Description de l'environnement VBE . . . . . . . . . . . . . . . . . . . . . 414.5 Choix des fenêtres à afficher . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445. Configuration de l'éditeur VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.1 Paramétrage des polices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.2 Paramétrage de la saisie du code . . . . . . . . . . . . . . . . . . . . . . . . . 455.3 Gestion des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.4 Ancrage d'une fenêtre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Chapitre 2Le langage VBA1. Les modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491.2 Accès aux modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511.3 Import et export de code VBA. . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Table des matières2. Les procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522.2 Accès aux procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532.3 Les procédures Sub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532.4 Les procédures Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542.5 Déclaration des procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552.6 Portée des procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562.7 Arguments des procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562.8 Les arguments nommés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.9 Appel d'une procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592.10 Appel d'une fonction VBA dans une formule Excel . . . . . . . . . . 592.11 Exemples de procédures et fonctions . . . . . . . . . . . . . . . . . . . . . 623. Les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.1 Les types de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.2 Les déclarations de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.2.1 Déclarations implicites. . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.2.2 Déclarations explicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.2.3 Syntaxe des instructions de déclaration . . . . . . . . . . . . . . 693.3 Les déclarations des types de variables . . . . . . . . . . . . . . . . . . . . 703.3.1 Déclarations explicites du type . . . . . . . . . . . . . . . . . . . . . 703.3.2 Déclarations implicites du type . . . . . . . . . . . . . . . . . . . . . 713.3.3 Convention d'appellation des variables. . . . . . . . . . . . . . . 734. Les tableaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.2 Déclaration d’un tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.3 Affectation de valeurs à un tableau. . . . . . . . . . . . . . . . . . . . . . . 754.4 Redimensionnement d'un tableau . . . . . . . . . . . . . . . . . . . . . . . . 774.5 Cas pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.6 Les constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.6.1 Les constantes personnalisées . . . . . . . . . . . . . . . . . . . . . . 814.6.2 Les constantes intégrées . . . . . . . . . . . . . . . . . . . . . . . . . . . 823

4VBA Excel (2019 et Office 365)Programmer sous Excel : macros et langage VBA5. Les structures de décision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.1 L'instruction If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.2 L'instruction Select Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866. Les structures en boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.1 L'instruction Do.Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.2 L'instruction While.Wend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906.3 L'instruction For.Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906.4 L'instruction For Each.Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926.5 Quitter les structures de contrôle . . . . . . . . . . . . . . . . . . . . . . . . 937. Les opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947.1 Les opérateurs arithmétiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . 947.2 Les opérateurs de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . 957.3 Les opérateurs logiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967.4 L'opérateur de concaténation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 967.5 Priorité des opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978. Les règles d'écriture du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988.1 Les commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988.2 Le caractère de continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988.3 Les retraits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998.4 Les noms des procédures, variables et constantes . . . . . . . . . . . 99Chapitre 3La programmation objet sous Excel (2019 et Office 365)1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012. Le modèle objet Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022.2 Principaux objets et collections . . . . . . . . . . . . . . . . . . . . . . . . . 1033. Principes d'utilisation des objets et collections. . . . . . . . . . . . . . . . . 1063.1 Les propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063.2 Propriétés représentant des objets . . . . . . . . . . . . . . . . . . . . . . . 1063.3 Les méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Table des matières3.4 Les événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093.5 Les collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103.6 Complément automatique des instructions . . . . . . . . . . . . . . . 1124. Instructions utilisées avec les objets . . . . . . . . . . . . . . . . . . . . . . . . . 1144.1 L'instruction With . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144.2 L'instruction For Each.Next . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154.3 L'instruction If TypeOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154.4 L'instruction Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165. L'explorateur d'objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185.2 Recherche dans l'Explorateur d'objets . . . . . . . . . . . . . . . . . . . . 119Chapitre 4Les objets d'Excel1. L'objet Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211.1 Propriétés représentant les options d'Excel . . . . . . . . . . . . . . . . 1221.1.1 Options de la catégorie Standard. . . . . . . . . . . . . . . . . . . 1221.1.2 Options de la catégorie Formules . . . . . . . . . . . . . . . . . . 1231.1.3 Options de la catégorie Vérification . . . . . . . . . . . . . . . . 1251.1.4 Options de la catégorie Enregistrement . . . . . . . . . . . . . 1271.1.5 Options de la catégorie Options avancées . . . . . . . . . . . 1281.2 Propriétés relatives à la présentation de l'application. . . . . . . . 1341.3 Propriétés diverses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1371.4 Méthodes de l'objet Application . . . . . . . . . . . . . . . . . . . . . . . . 1411.4.1 Méthodes agissant sur les formules et calculs . . . . . . . . 1411.4.2 Méthodes agissant sur les cellules . . . . . . . . . . . . . . . . . . 1421.4.3 Méthodes agissant sur les listes personnalisées . . . . . . . 1421.4.4 Méthodes affichant des boîtes de dialogue . . . . . . . . . . . 1421.4.5 Méthodes se rapportant aux actions dans Excel . . . . . . 1431.4.6 Méthodes relatives à la messagerie . . . . . . . . . . . . . . . . . 1441.4.7 Autres méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1445

6VBA Excel (2019 et Office 365)Programmer sous Excel : macros et langage VBA1.5 Exemples de codes utilisant l'objet Application . . . . . . . . . . . . 1461.5.1 Modification de l'interface d'Excel. . . . . . . . . . . . . . . . . . 1461.5.2 Création d'une liste personnalisée . . . . . . . . . . . . . . . . . . 1461.5.3 Sélection de colonnes disjointes . . . . . . . . . . . . . . . . . . . 1471.5.4 Évaluation du résultat d'une formule . . . . . . . . . . . . . . . 1472. L'objet Workbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1482.1 Objets et collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1492.2 Propriétés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512.2.1 Propriétés relatives à la mise à jouret l'enregistrement de classeurs . . . . . . . . . . . . . . . . . . . . 1512.2.2 Propriétés relatives aux classeurs partagés . . . . . . . . . . . 1522.2.3 Autres propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1552.3 Liste des méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1572.3.1 Méthodes agissant directement sur les classeurs . . . . . . 1572.3.2 Méthodes relatives à la sécurité. . . . . . . . . . . . . . . . . . . . 1592.3.3 Méthodes relatives aux classeurs partagés . . . . . . . . . . . 1592.3.4 Méthodes se rapportant aux données liées . . . . . . . . . . . 1602.3.5 Méthodes relatives à l'envoi de classeur . . . . . . . . . . . . . 1612.3.6 Autres méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1622.4 Exemples de codes utilisant l'objet Workbook . . . . . . . . . . . . . 1622.4.1 Création d'un classeur Excel . . . . . . . . . . . . . . . . . . . . . . 1622.4.2 Import d'une base de données et exportau format HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1632.4.3 Affichage des propriétés d'un classeur. . . . . . . . . . . . . . . 1642.4.4 Export du classeur au format PDF. . . . . . . . . . . . . . . . . . 1653. L'objet Worksheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1653.1 Liste des objets et collections. . . . . . . . . . . . . . . . . . . . . . . . . . . 1663.2 Objets et collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1663.3 Propriétés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1693.4 Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1713.5 Exemples de codes utilisant l'objet Worksheet. . . . . . . . . . . . . 1743.5.1 Tri des feuilles de calcul d'un classeur . . . . . . . . . . . . . . . 1743.5.2 Protection des feuilles de calcul d'un classeur. . . . . . . . . 175

Table des matières3.5.3 Tri d'un tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1754. L'objet Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1764.1 Propriétés et méthodes renvoyant un objet Range . . . . . . . . . 1764.2 Syntaxes des propriétés renvoyant un objet Range . . . . . . . . . 1794.3 Liste des objets et collections . . . . . . . . . . . . . . . . . . . . . . . . . . . 1834.4 Propriétés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1854.4.1 Propriétés se rapportant à la positionet au format des cellules. . . . . . . . . . . . . . . . . . . . . . . . . . 1854.4.2 Propriétés se rapportant au contenu des celluleset aux formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1864.4.3 Autres propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1874.5 Méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1884.5.1 Méthodes renvoyant un objet . . . . . . . . . . . . . . . . . . . . . 1884.5.2 Méthodes se rapportant à la présentation des cellules. . 1884.5.3 Méthodes se rapportant au contenu des cellules . . . . . . 1904.5.4 Méthodes se rapportant aux noms des cellules . . . . . . . 1924.5.5 Méthodes se rapportant aux filtres . . . . . . . . . . . . . . . . . 1924.5.6 Méthodes se rapportant au mode plan . . . . . . . . . . . . . . 1934.5.7 Méthodes se rapportant à l'outil d'Audit . . . . . . . . . . . . 1934.5.8 Autres méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1945. Exemples d'utilisation des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1955.1 Calcul du montant d'une prime. . . . . . . . . . . . . . . . . . . . . . . . . 1955.2 Affectation de commentaires à des cellules . . . . . . . . . . . . . . . 197Chapitre 5Les tableaux croisés et graphiques1. Les tableaux croisés dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1991.1 L'objet PivotTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1991.1.1 Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1991.1.2 Propriétés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2001.1.3 Méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2041.2 Création d'un tableau croisé dynamique. . . . . . . . . . . . . . . . . . 2047

8VBA Excel (2019 et Office 365)Programmer sous Excel : macros et langage VBA2. Les graphiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2052.1 L’objet Shape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2052.1.1 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2052.1.2 Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2062.2 L'objet Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2062.2.1 Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2062.2.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2062.2.3 Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2072.3 Création d'un graphique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2083. Exemple d'application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093.2 Code VBA de l'exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2114. Création d'un tableau croisé dynamique avec des sparklines . . . . . 218Chapitre 6Les boîtes de dialogue1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2232. Les boîtes de dialogue intégrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2242.1 L'objet Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2242.2 Les méthodes GetOpenFileName et GetSaveAsFileName. . . . 2253. Les boîtes de dialogue prédéfinies . . . . . . . . . . . . . . . . . . . . . . . . . . . 2273.1 La fonction InputBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2273.2 La méthode InputBox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2283.3 La fonction MsgBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2303.4 Constantes utilisées dans les boîtes de dialogue. . . . . . . . . . . . 234

Table des matièresChapitre 7Les formulaires1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2352. Créer un formulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2363. Personnaliser un formulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2453.1 Écrire des procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2453.2 Liste des événements associés aux principaux contrôles . . . . . 2463.3 Exécution et fermeture d'un formulaire . . . . . . . . . . . . . . . . . . 2524. Exemple de formulaire personnalisé . . . . . . . . . . . . . . . . . . . . . . . . . 2534.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2534.2 Code associé au bouton macro de la fiche Employés . . . . . . . . 2554.3 Code VBA associé au formulaire . . . . . . . . . . . . . . . . . . . . . . . . 255Chapitre 8Amélioration de l'interface utilisateur1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612. Personnalisation du rubanau moyen de l'utilitaire Custom UI Editor . . . . . . . . . . . . . . . . . . . . 2622.1 Présentation de l'utilitaire Custom UI Editor . . . . . . . . . . . . . . 2622.2 Exemple de code XML de personnalisation . . . . . . . . . . . . . . . 2642.3 Balises XML correspondant aux différents éléments du ruban. 2672.3.1 Onglets et groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2672.3.2 Principaux contrôles du ruban. . . . . . . . . . . . . . . . . . . . . 2682.3.3 Les attributs des contrôles du ruban . . . . . . . . . . . . . . . . 2712.3.4 Récapitulatif des attributs par type de contrôle. . . . . . . 2732.3.5 Images de la galerie des icônes Microsoft Office . . . . . . 2752.3.6 Les fonctions d'appels Callbacks . . . . . . . . . . . . . . . . . . . 2752.3.7 Utilisation des fonctions d'appels Callbacks. . . . . . . . . . 2789

10VBA Excel (2019 et Office 365)Programmer sous Excel : macros et langage VBA3. Exemple de ruban personnaliséau moyen de l'utilitaire Custom UI Editor . . . . . . . . . . . . . . . . . . . . 2793.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2793.2 Code XML du ruban. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2803.3 Code VBA de personnalisation du ruban (module "Ruban") . . 2824. Personnalisation du rubanau moyen de la collection CommandBars. . . . . . . . . . . . . . . . . . . . . 2875. Exemples de barres de commandes . . . . . . . . . . . . . . . . . . . . . . . . . . 2875.1 Barres d'outils personnalisées. . . . . . . . . . . . . . . . . . . . . . . . . . . 2875.2 Commandes de menu au format Office 2019 ou Office 365. . 2885.3 Ajouter le groupe à la barre d'outils Accès rapide . . . . . . . . . . . 2886. Les barres de commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2896.1 Terminologie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2896.1.1 Barre de commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2896.1.2 Contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2896.2 Créer une barre de commandes . . . . . . . . . . . . . . . . . . . . . . . . . 2906.3 Supprimer une barre de commandes . . . . . . . . . . . . . . . . . . . . . 2916.4 Afficher une barre de commandes . . . . . . . . . . . . . . . . . . . . . . . 2917. Contrôles (options ou boutons de commande)des barres de commandes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2927.1 Ajouter un contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2927.2 Préciser l'intitulé d'un contrôle . . . . . . . . . . . . . . . . . . . . . . . . . 2937.3 Supprimer un contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2947.4 Associer une procédure à un contrôle . . . . . . . . . . . . . . . . . . . . 2947.5 Autres propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2947.6 Liste des images associées aux boutons de commande . . . . . . 2968. Exemples de menus personnalisés . . . . . . . . . . . . . . . . . . . . . . . . . . . 2978.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2978.2 Code des exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2998.3 Code du module de classe ThisWorkbook . . . . . . . . . . . . . . . . 2998.4 Code de la feuille "Note de Frais". . . . . . . . . . . . . . . . . . . . . . . . 3008.5 Code du module ProcMenus . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

Table des matières8.6 Code du module ProcActions. . . . . . . . . . . . . . . . . . . . . . . . . . . 305Chapitre 9Gestion des événements1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3072. Écriture des événements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3082.1 Événements de classeur, de feuille ou de formulaire . . . . . . . . 3082.2 Événements de l'objet Application . . . . . . . . . . . . . . . . . . . . . . 3102.3 Événement d'un graphique incorporé . . . . . . . . . . . . . . . . . . . . 3133. Les événements de l'objet Application . . . . . . . . . . . . . . . . . . . . . . . 3154. Les événements de l'objet Workbook . . . . . . . . . . . . . . . . . . . . . . . . 3205. Les événements de l'objet Worksheet . . . . . . . . . . . . . . . . . . . . . . . . 3236. Les événements de l'objet Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325Chapitre 10Débogage et gestion des erreurs1. Les différents types d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3271.1 Les erreurs de syntaxe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3271.2 Les erreurs de compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3281.3 Les erreurs d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3291.4 Les erreurs de logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3302. Débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3312.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3312.2 La barre d'outils Débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3312.3 L'objet Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3333. Gestion des erreurs en VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3343.1 L'objet Err . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33611

12VBA Excel (2019 et Office 365)Programmer sous Excel : macros et langage VBAChapitre 11Communication avec les applications Office1. La technologie Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3391.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3391.2 Utilisation de la technologie Automation . . . . . . . . . . . . . . . . 3412. Communiquer avec Word depuis Excel . . . . . . . . . . . . . . . . . . . . . . 3422.1 Le modèle objet Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3422.2 Principales collections du modèle objet Word . . . . . . . . . . . . . 3432.3 Principaux objets du modèle objet Word . . . . . . . . . . . . . . . . . 3442.4 La collection Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3462.5 Les objets Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3462.6 Exemple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3493. Communiquer avec Access depuis Excel. . . . . . . . . . . . . . . . . . . . . . 3513.1 Le modèle objet Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3513.2 Principales collections du modèle objet Access. . . . . . . . . .

29,90 ISBN : 978-2-409-01867-1 Pour plus d'informations : À la fois simple, pratique et complet, ce livre sur VBA Excel s'adresse aux utilisateurs d'Excel 2019 ou d'Excel Office 365, ou aux développeurs souhaitant créer des applications de tableur conviviales, fiables et puissantes.