Apprendre la programmation en VBA pour EXCEL par la pratique - Première partie
Apprendre la programmation en VBA pour EXCEL par la pratique - Première partie Tome 1 - Des bases de la programmation à l'algorithme de classement rapide QuickRanking Par Laurent OTT Date de publication : 2 juillet 2016 Il s'agit d'une compilation d'exemples pratiques pour apprendre la programmation en Microsoft Office Excel avec VBA. Vous allez aussi apprendre des exemples d'Excel avec les autres composants de Microsoft Office tels que Outlook et Access. C'est un cours qui peut servir de support de formation pratique pour apprendre la programmation VBA sous Microsoft Office Excel. Les exemples sont en Excel 2010, mais peuvent être adaptés pour les versions récentes : Excel 2013 et Excel 2016. Merci pour vos avis. Commentez En complément sur Developpez.com • Mémento sur la programmation en VBA pour EXCEL - Tome 2 • Mémento sur la programmation en VBA pour EXCEL - Tome 3 • Mémento sur la programmation en VBA pour EXCEL - Tome 4 Apprendre la programmation en VBA pour EXCEL par la pratique - Première partie par Laurent OTT I - Introduction..............................................................................................................................................................3 II - Prérequis................................................................................................................................................................ 3 III - Mes premiers pas en programmation VBA pour EXCEL 2010............................................................................ 4 IV - Les différents types de variables....................................................................................................................... 18 V - Les tableaux de variables................................................................................................................................... 20 VI - L'éditeur VBA......................................................................................................................................................23 VII - Exercice pratique : Créer une procédure de tri des données........................................................................... 25 VIII - Regrouper ses procédures génériques dans un module................................................................................. 32 IX - Les événements................................................................................................................................................. 33 X - La gestion des erreurs........................................................................................................................................ 37 XI - Envoyer un message OUTLOOK depuis EXCEL.............................................................................................. 38 XII - Exemple d'une fonction complète en VBA pour ouvrir un fichier......................................................................42 XIII - Utiliser les boîtes de dialogue intégrées d'EXCEL...........................................................................................44 XIV - Programmer en VBA dans un formulaire EXCEL............................................................................................45 XV - Envoyer des données dans ACCESS - Importer des données d'ACCESS......................................................52 XVI - Utiliser les macros............................................................................................................................................56 XVII - Utiliser l'aide.................................................................................................................................................... 57 XVIII - Personnaliser un classeur..............................................................................................................................60 XIX - Manipuler les données dans différents classeurs............................................................................................66 XX - Manipuler les données d'un tableau.................................................................................................................68 XXI - Les procédures récursives...............................................................................................................................75 XXII - Les API............................................................................................................................................................78 XXIII - QuickRanking - Algorithme rapide de tri et de classement des données...................................................... 79 XXIV - Diffuser un module protégé........................................................................................................................... 91 XXV - Conclusion.......................................................................................................................................................92 Annexe : Snake - Programmer un jeu d'arcade en VBA.......................................................................................... 93 Remerciements........................................................................................................................................................ 100 - 2 - Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2016 Laurent OTT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. http://laurent-ott.developpez.com/tutoriels/programmation-excel-vba-tome-1/ Apprendre la programmation en VBA pour EXCEL par la pratique - Première partie par Laurent OTT I - Introduction EXCEL possède de multiples fonctions qui permettent de répondre à de nombreux besoins, certes, mais dans certains cas, il n'existe aucune fonction intégrée pour répondre aux besoins particuliers de l'utilisateur. Il faut alors programmer ses propres fonctions… « Un programme informatique est une séquence d'instructions qui spécifie étape par étape les opérations à effectuer pour obtenir un résultat. Pour écrire un programme informatique, on utilise un langage de programmation ». Pour programmer EXCEL nous allons donc utiliser un langage de programmation : le VBA, acronyme anglais de « Visual Basic for Applications ». • Visual : car c'est une « programmation visuelle », grâce à l'éditeur intelligent qui reconnaît les mots clés du langage et permet le débogage. • BASIC : « Beginner's All Purpose Symbolic Instructions Code » que l'on traduit par « code d'instructions symboliques à tout faire pour débutant ». VBA est un langage de programmation qui se veut simple à apprendre et à utiliser, à la portée de tous. • Applications : car ce langage de programmation sera commun à la suite bureautique de Microsoft : EXCEL, ACCESS, WORD, POWERPOINT, OUTLOOK, même si chacune de ces applications a ses particularités. Nous allons étudier le VBA utilisé pour programmer EXCEL, mais nous verrons aussi comment, depuis EXCEL, nous pouvons intervenir dans OUTLOOK ou ACCESS, grâce au VBA. Il faudrait des centaines de pages de documentation pour explorer le VBA dans son intégralité, ici nous allons juste découvrir les bases de la programmation en VBA : comprendre la logique de construction d'un programme, générer des algorithmes, utiliser les principales instructions du langage. À l'appui d'exemples, d'abord simples puis qui se complexifient graduellement, nous allons aborder de nombreuses notions de la programmation en VBA. Jusqu'à devenir de véritables champions, capables de rédiger un algorithme de tri rapide. Exercice plus délicat qu'il n'y paraît, car chaque instruction doit être optimisée pour gagner en rapidité de traitement. Armé de ce bagage, vous pourrez alors approfondir vos connaissances en lisant des ouvrages plus techniques, en farfouillant sur les sites internet, en échangeant sur des forums de programmation. N'oubliez pas non plus l'aide disponible dans EXCEL, très fournie, pour laquelle un chapitre est consacré afin de vous apprendre à l'exploiter pleinement. Nous faisons référence dans ce document au VBA version 7.0 pour EXCEL 2010. Mais la grande majorité du code est compatible avec la version antérieure. II - Prérequis Pour programmer en VBA, il suffit de connaître les notions de base d'EXCEL, savoir ce qu'est un classeur, une feuille, une cellule. Par exemple, savoir que « A1 » fait référence à la cellule de la première ligne, première colonne, de la feuille active. Car la programmation en VBA utilise ces mêmes notions, et pour mettre la valeur 15 dans la cellule « A1 » de la feuille active, l'instruction est : Range("A1").Value = 15 Dans EXCEL, pour mettre manuellement la valeur 15 dans la cellule « A1 » d'une autre feuille, par exemple « Feuil2 », vous devez d'abord sélectionner cette feuille, puis sélectionner la cellule « A1 » et enfin saisir la valeur 15. En VBA vous pouvez atteindre une cellule sans l'avoir sélectionnée préalablement, simplement en indiquant son « adresse ». L'instruction est : Sheets("Feuil2").Range("A1").Value = 15 - 3 - Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2016 Laurent OTT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. http://laurent-ott.developpez.com/tutoriels/programmation-excel-vba-tome-1/ Apprendre la programmation en VBA pour EXCEL par la pratique - Première partie par Laurent OTT La syntaxe respecte la logique suivante : Workbooks - Sheets - Range - Value = 15 Si l'objet en amont n'est pas renseigné, Workbooks (classeur) ou Sheets (feuille), c'est l'objet actif qui est pris par défaut. C'est pourquoi, pour simplifier le code, les objets en amont ne sont indiqués qu'en cas de besoin. En VBA, on dit que Range est un objet, qui possède des propriétés, dont la propriété Value (valeur). Un objet ne peut pas être modifié. Seules ses propriétés peuvent l'être, et encore, pas toutes, car certaines sont en lecture seule. Un objet peut avoir une propriété par défaut. Par exemple la propriété Value pour l'objet Range. Dans ce cas il n'est pas nécessaire de saisir cette propriété. Et Range("A1") = 15 équivaut à Range("A1").Value = 15 À la place de Range vous pouvez utiliser Cells(Ligne, Colonne). Cells désigne toujours une seule cellule, alors que Range représente une plage pouvant contenir une ou plusieurs cellules. Nous étudierons plus loin comment utiliser Range pour une sélection multicellulaire. Attention, les coordonnées d'une cellule sont exprimées au format (y, x). La première cellule d'une feuille est la cellule située en ligne 1, colonne 1. Comme pour l'objet Range, la propriété Value est la propriété par défaut de Cells, nous écrirons donc indifféremment Cells(1,1) = 15 ou Cells(1,1).Value = 15 Vous en savez désormais assez pour programmer. III - Mes premiers pas en programmation VBA pour EXCEL 2010 Pour notre premier programme, imaginons une cour de récréation où deux enfants discutent bonbons. Le premier demande au second : « Combien as-tu de bonbons dans ta poche ? » Pour le savoir, l'enfant plonge sa main dans sa poche, et compte les bonbons : 1, 2, 3… jusqu'à ce qu'il n'en trouve plus. Et donne la solution : « J'en ai 9 ». Si l'enfant peut réaliser une telle prouesse, c'est parce qu'il suit un processus logique. Pour commencer, l'enfant réserve dans l'espace mémoire de son cerveau une variable bonbon, elle sera numérique, et non pas alphabétique, car elle sert à compter des nombres. Pour le moment, cette variable vaut 0. Vient ensuite un traitement en boucle : tant que la poche n'est pas vide, la variable numérique bonbon est incrémentée de une unité. Quand la condition pour sortir de la uploads/S4/ vba-excel-tome-1.pdf
Documents similaires










-
49
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 12, 2021
- Catégorie Law / Droit
- Langue French
- Taille du fichier 1.3847MB