Excel VBA: devenez expert!

Programmez des applications complexes et performantes
3.5 (1 rating) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
24 students enrolled
$19
$55
65% off
Take This Course
  • Lectures 48
  • Length 5.5 hours
  • Skill Level Expert Level
  • Languages French
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 French

Course Description

Cette formation s’adresse à des personnes ayant déjà une certaine expérience de la programmation d’Excel en VBA, et qui souhaitent augmenter leurs compétences, et découvrir de nouvelles façons de programmer.

Je vous propose d’aborder :

  • La programmation du filtre avancé (très utile !)
  • La programmation des modules de classes, avec une introduction à la programmation orientée objet(POO)
  • La programmation des Tableaux Croisés Dynamiques
  • La programmation des graphiques
  • La programmation de l’accès à une base de données, soit avec la bibliothèque DAO, soit en utilisant l’objet QueryTables.
  • L'accès à un classeur, sans ouvrir ce classeur, en utilisant la bibliothèque ADODB
  • La programmation du ruban en XML (la seule qui permette d’avoir un ruban complètement personnalisé !)

Cet apprentissage se fera en développant un ou plusieurs mini projets, souvent inspirés de mes propres projets professionnels.

De manière générale, nous chercherons à optimiser les performances de nos programmes.

L’objectif de cette formation est aussi de vous apprendre à développer une application à partir d’un cahier des charges, pour acquérir les bonnes pratiques de conception.

Je vous donnerais des conseils et un guide de conception. Et je vous proposerais ensuite de développer vous-même le mini projet.

En effet, c’est en résolvant vous-même tous les problèmes qui surgissent pendant l’écriture du programme, que vous allez progresser.

Bien sur, je détaille ensuite tous les aspects de ma propre solution.

What are the requirements?

  • Il faut connaitre les structures de base du langage VBA : procédures et fonctions, variables et types de données, structures de test conditionnel : If…End If, Select Case, structures de boucle : For…Next, Do…Loop.
  • Il faut connaitre le Modèle des Objets Excel : propriétés, méthodes et événements d’un objet, l’utilisation de variables objet, les objets principaux : Workbook, Worksheet, Range et Cells, la structure For…Each…Next pour parcourir une collection d’objets, la propriété CurrentRegion, la notion d’événement, la gestion des erreurs.

What am I going to get from this course?

  • Utiliser le filtre avancé pour automatiser le calcul sur des listes filtrées, avec la méthode AdvancedFilter
  • Obtenir une liste sans doublon avec la méthode RemoveDuplicates
  • Utiliser des classes personnalisées pour améliorer la conception d’une application
  • Utiliser l’objet Collection pour créer une collection d’objets personnalisés
  • Automatiser la création de graphiques
  • Utiliser une instance d’Excel masquée, pour réduire les temps de calcul
  • Utiliser un tableau VBA pour copier et coller rapidement des valeurs
  • Programmer les Tableaux Croisés Dynamiques
  • Programmer le ruban en xml, et remplacer le ruban Excel par un ruban personnalisé

What is the target audience?

  • Ce cours ne convient pas aux personnes sans connaissances préalables, et sans expérience suffisante.
  • Ce cours est fait pour des personnes ayant déjà suivi une formation de niveau 1.
  • Il faut avoir acquis une certaine expérience, en ayant développé plusieurs projets, ou repris plusieurs macro existantes, pour les corriger ou les améliorer.
  • Des salariés ayant la charge de maintenir des macros existantes, ou ayant développé des petits projets pour leur entreprise, et souhaitant acquérir les compétences qui leur manquent, tirerons profit de cette formation.
  • Des développeurs professionnels qui souhaitent délivrer à leurs clients plus rapidement des applications plus performantes et plus faciles à maintenir, en bénéficierons également.
  • Enfin des étudiants qui souhaitent ajouter une expertise de développeur Excel à leur CV, trouverons ici la possibilité de booster leurs compétences de premier niveau.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Programmez le filtre avançé
01:14
Dans cette vidéo, je présente les objectifs de ce chapitre, ou vous allez apprendre à utiliser le filtre avancé avec les commandes du ruban et à le programmer en VBA.
06:39

Dans cette vidéo, je vous montre comment utiliser le filtre avancé, avec les commandes du ruban Excel. En téléchargement, le fichier Excel utilisé pour cette vidéo.

08:42
Dans cette vidéo, je vous montre comment programmer le filtre avancé, en utilisant la méthode Range.AdvancedFilter
06:47

Dans cette vidéo, je vous présente les objectifs du mini projet que je vous propose de développer vous-même. Vous trouvez en téléchargement, le fichier contenant la source de données, ainsi que le modèle de résultat.

03:37

Dans cette vidéo, je présente les choix de conception que j'ai fait pour développer ma solution du mini projet.

08:14
Dans cette vidéo, je détaille la programmation de la procédure principale de ma solution au mini projet.
03:18

Dans cette vidéo, je vous montre comment utiliser la méthode RemoveDuplicates de l'objet Range pour obtenir une liste sans doublon.

15:34

Dans cette vidéo, je détaille la programmation de la procédure GetDataByIC, chargée du calcul les données nécessaires (totaux de CA et totaux de marges) pour calculer les montants de commission pour chaque commercial.

06:14

Dans cette vidéo, je détaille la programmation de la procédure GenerateReport, chargée de générer un classeur de reporting par commercial.

08:01

Dans cette vidéo, j'améliore les performances du mini projet, en utilisant une instance masquée d'Excel pour limiter les accès à la carte graphique.En téléchargement, la classeur qui contient ces modifications.

Section 2: Programmez avec les modules de classe
00:33
Dans cette vidéo, je présente les objectifs de ce chapitre, consacré à la programmation des modules de classe. C'est une introduction à la programmation orientée objet(POO)
07:43

Dans cette vidéo, nous écrivons notre première classe, clsPersonne, et nous lui ajoutons des propriétés et des méthodes. Vous trouvez en téléchargement, le fichier contenant les classes personnes.

09:54
Dans cette vidéo, nous mettons en place un accès aux propriétés de la classe en utilisant des accesseurs, pour avoir un meilleur contrôle sur les propriétés.
03:18

L'outil MZTools, gratuit et téléchargeable sur internet, fourni une commande qui permet de créer les procédures Property pour les propriétés d'une classe de façon automatique.

07:21
Dans cette vidéo, nous voyons comment avoir des propriétés en lecture seule. Nous voyons également comment valider la valeur d'une propriété, avant de la modifier.
03:01

Dans cette vidéo, je vous propose d'améliorer les performances du mini projet et d'utiliser une classe. Je donne quelques guides de conception.

10:43
Dans cette vidéo, je détaille ma solution pour améliorer les performances du mini projet.
07:11

Dans cette vidéo, on améliore la classe clsTrigramme, en utilisant l'événement Initialize. C'est alors la classe elle même qui est responsable de la création du tableau de résultat.

En téléchargement, le classeur qui contient cette nouvelle version.

Article

Exercice de programmation.

Le classeur contenant la correction est en téléchargement.

10:49

Dans cette vidéo, je corrige l'exercice donné dans la vidéo précédente: afficher les résultats, et insérer une liste de liens hypertexte pour ouvrir chacun des fichiers créé.

Le classeur correspondant est en téléchargement.

Section 3: Programmez les Tableaux Croisés Dynamiques(TCD)
06:14

Dans cette vidéo, je présente les différents objets et les différentes méthodes utilisées pour créer un TCD.

09:06

Dans cette vidéo, j’écris le programme pour insérer un TCD, basé sur un rapport de ventes.

06:01

Dans cette vidéo, je présente les objets et les méthodes utilisés pour manipuler les segments et les graphiques, associés aux Tableaux Croisés Dynamiques.

10:18

Dans cette vidéo, je programme un TCD basé sur un tableau de rapport de vente, et j'ajoute un graphique avec un segment, pour analyser les données.

04:51

Dans cette vidéo, je présente l'exercice consistant à modifier le mini projet, de façon à utiliser un Tableau Croisé Dynamique pour réaliser le calcul des montants.

En téléchargement vous trouverez le fichier [Suivi RH.xlsx] et le modèle de résultat [ModeleResultat.xlsx]

09:23

Dans cette vidéo, je présente quelques éléments de correction, avant de détailler ma solution dans la vidéo suivante. Je présente notamment l'objet Hashtable, qui est une collection qui permet de simplifier la programmation.

10:30

Dans cette vidéo, je détaille ma solution pour le mini projet avec TCD. Le fichier Excel correspondant est disponible en téléchargement.

Section 4: Accédez à un classeur, sans l'ouvrir, avec ADODB
08:33

Dans cette vidéo, je présente la bibliothèque ADODB, son utilité, ainsi que les classes, méthodes et propriétés utiles pour lire les données d'un classeur Excel, sans l'ouvrir.

En téléchargement, un fichier pdf contenant les slides de la présentation.

09:03

Dans cette vidéo, je montre la mise en œuvre de la bibliothèque ADO, pour importer le contenu d'une feuille de calcul du classeur [Liste de salariés.xlsx], sans ouvrir ce classeur.

En téléchargement:

  1. le classeur [Liste de salariés.xlsx]
  2. Le classeur avec le code, [CHAP4-ADO-Demo.xlsx]
Exercice: amélioration du mini-projet
Article
05:18

Dans cette vidéo, je détaille le programme de ma solution à l'amélioration du mini-projet utiisant ADODB.

Un programme de test permet de comparer les performances des 2 méthodes pour importer les données.

La méthode classique(ouvrir le classeur et copier coller la plage de données), et la méthode avec ADO, sans ouvrir le classeur. Avantage à la méthode ADO!!

En téléchargement, le classeur contenant ma solution.


Section 5: Programmez le ruban, en XML
05:13
Dans cette vidéo, je présente la structure d'un fichier Excel prenant en charge les macros, ainsi que le structure d'un fichier xml de description de ruban.
10:49

Dans cette vidéo, je présente en détail la structure d'un fichier xml. Je présente les premières balises de programmation du ruban, ainsi que l'installation et l'utilisation de l'éditeur xml.

09:58

Dans cette vidéo, je montre comment obtenir une référence au ruban, dans VBA, afin de pouvoir manipuler le ruban. J'explique ce qu'est une fonction de callback. J'indique comment créer un onglet personnalisé, et piloter sa visibilité.

16:02
Dans cette vidéo, je montre comment ajouter un groupe de commandes personnalisé à un onglet intégré. J'indique comment utiliser les images intégrées, avec l'attribut imageMso.
06:36

Cette vidéo présente la mise en œuvre et la programmation du contrôle Gallery.

02:25

Cette vidéo présente la mise en œuvre et la programmation du contrôle Box.

06:29

Cette vidéo présente la mise en œuvre et la programmation du contrôle Checkbox.

03:36
Cette vidéo présente la mise en œuvre et la programmation du contrôle ComboBox
01:52
Cette vidéo présente la mise en œuvre et la programmation du contrôle Command
03:13

Cette vidéo présente la mise en œuvre et la programmation du contrôle DropDown.

05:00
Cette vidéo présente la mise en œuvre et la programmation du contrôle EditBox
05:33
Cette vidéo présente la mise en œuvre et la programmation du contrôle Menu et du control ToggleButton
04:59

Dans cette vidéo, je montre comment supprimer le ruban standard d’Excel, et le remplacer par un ruban personnalisé, à l'aide de l'attribut startFromScratch. J'indique comment choisir l'idMso d'un contrôle intégré.

05:51
Cette vidéo est une introduction à la programmation de la vue Backstage. J'indique comment masquer les onglets intégrés, et comment ajouter un onglet personnalisé et lui affecter des commandes.
07:04

Cette vidéo présente le contexte et le résultat à obtenir, à partir d'une ébauche de mini-projet.

10:37
Cette vidéo présente une solution au mini-projet, en détaillant la partie description xml du ruban à obtenir.
19:10
Cette vidéo présente une solution au mini-projet, en détaillant la partie programmation Vba du ruban à obtenir.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Philippe Pons, Formateur et développeur VBA, Excel, Access, java, Android

Je suis développeur freelance depuis 2003.

J’ai environ 15 ans d’expérience en programmation.

Je développe des applications logicielles pour mes clients. La plupart des ces applications sont réalisées sur une base Excel ou Access, et développées en VBA.

Je suis également formateur depuis 10 ans, et j’enseigne la programmation en VBA pour Excel et Access, ainsi que le développement d’applications de base de données.

Et enfin plus récemment, je propose également des formations au développement d'applications Java et Android.

Ready to start learning?
Take This Course