Formation Excel & VBA

Excel - Graphiques - Tableaux Croisés - Macros - VBA et plus encore

Les travaux pratiques du VBA Excel

Cette page complète le cours Macros et VBA Excel, en proposant des exercices pratiques pour mettre en application les notions abordées.

Playlist Youtube Macros Enregistrées

Playlist Youtube VBA

Travaux pratiques VBA Excel : passer de la théorie à l’action

Apprendre le VBA Excel ne se limite pas à comprendre la syntaxe ou les concepts. Pour réellement maîtriser les macros, il est indispensable de mettre en pratique à travers des exercices concrets et des cas réels.

Cette page est dédiée aux travaux pratiques VBA Excel : chaque tutoriel propose un objectif précis (automatiser une tâche, créer un outil, fiabiliser un traitement) et s’appuie sur des fichiers d’exercices téléchargeables afin de reproduire pas à pas les manipulations.

Contrairement à la page consacrée aux cours VBA Excel, ici l’accent est mis sur l’expérimentation : écrire du code, tester, corriger, améliorer.

Quels outils créer en VBA Excel :

Fonction personnalisée : vérifier la validité d'une adresse mail

Créer sa fonction personnalisée en VBA Excel

Voir sur Youtube : Adresse mail

Élaborer une fonction personnalisée en VBA permettant de vérifier la syntaxe d'une adresse email.

Utiliser cette fonction personnalisée pour vérifier la saisie dans un formulaire VBA, ou pour effectuer un contrôle à la volée, via les procédures événementielles, lors de la saisie dans une feuille de calcul sans passer par Données - Validation des données

Pour élaborer cette fonction personnalisée, il sera nécessaire de manipuler des chaînes de caractères en VBA

Pour effectuer l'exercice sur le même fichier que dans la vidéo, il est possible de le télécharger ici : bibliotheque-apres-vba-8.xlsm

Récupérer l'arborescence d'un dossier avec liens hypertextes

Macro Excel pour récupérer l'arborescence complète d'un dossier

Voir sur Youtube : Analyse Arborecence

Comment récupérer toute l'arborescence d'un dossier, avec la liste des fichiers et des dossiers, et créer les liens hypertextes qui permettent d'ouvrir le dossier déterminé dans l'arborescence, ou un fichier qui se trouve dans un sous-dossier quelconque.

Un tuto qui aborde la notion de FileSystemObject (FSO) et de procédure récursive pour éviter la mise en œuvre de boucles complexes.

Final ... AnalyseArbo.xlsm Et pour avoir la liste sur un seul onglet... AnalyseArboUnOnglet.xlsm

Diagramme de Gantt basique avec Excel

Diagramme de Gantt basique en VBA Excel

Voir sur Youtube : Gantt de base

Comment construire un diagramme de Gantt basique avec Excel.

Hypothèses de base pour cette version : uniquement des liens FD, durée des tâches uniquement en jours, et pas de notion de jours fériés, week-end, etc...

Résultat Final ... Gantt base

Retour en Haut de page

Diagramme de Gantt avec Excel - prise en compte des jours ouvrés et fériés

Diagramme de Gantt évolué en VBA Excel

Voir sur Youtube : Gantt évolution 1

Diagramme de Gantt évolué avec Excel.

Hypothèses de base pour cette version : uniquement des liens FD, durée des tâches uniquement en jours, avec notion de jours fériés, week-end, etc... et mise en forme conditionnelle pour mettre en évidence les week-end et les jours fériés

Fichier de départ ... Gantt base Fichier final... Gantt évolution 1 Jours fériés... Paques.xlsx

Diagramme de Gantt : prise en compte des jours écoulés, et relations FF - DD - FD

Diagramme de Gantt avancé en VBA Excel

Voir sur Youtube : Gantt évolution 2

Diagramme de Gantt plus évolué avec Excel.

Nous revenons sur la planification de projet avec le diagramme de Gantt dans Excel, et la  prise en compte de la notion de jours écoulés (durée et retard), et relations FF (Fin - Fin), DD (Début - Début) et FD (Fin - Début).

Rappels:

  • Relation FD : la tâche ne peut par commencer avant la fin du prédécesseur.
  • Relation FF : la tâche ne peut par finir avant la fin du prédécesseur.
  • Relation DD : la tâche ne peut par commencer avant le début du prédécesseur.

Calcul de la date de fin par l'intermédiaire d'une formule dans la feuille Excel, et de la date de début en VBA, pour tenir compte de toutes les possibilités, avec utilisation de la fonction SERIE.JOUR.OUVRE (WORKDAY in English).

Nous restons avec le principe de durée uniquement en jours (ouvrés ou calendaires)

Fichier de départ ...Gantt évolution 1 Fichier final... Gantt évolution 2 Jours fériés... Paques.xlsx

Importer dans Excel les données boursières de Yahoo Finance V1

Yahoo finance données boursières

Voir sur Youtube : Cours Yahoo Finance 1

Comment Rapatrier dans Excel les cours de bourses historiques accessibles dans Yahoo Finance.

Importation automatisée à partir du fichier csv que génère Yahoo Finance quand on souhaite l'historique des cours d'un titre donné.

Résultat Final ... YahooV1.xlsm

Importer dans Excel les données boursières de Yahoo Finance V2

Yahoo finance données boursières évolution 1

Voir sur Youtube : Cours Yahoo Finance 2

Comment rapatrier dans Excel les cours de bourses historiques accessibles dans Yahoo Finance.

Importation automatisée à partir du fichier csv que génère Yahoo Finance quand on souhaite l'historique des cours d'un titre donné. La différence avec la version 1 réside dans le traitement VBA. On va aborder la notion d'objet WinHttpRequest, le découpage de chaînes de caractères structurées en sous-éléments à l'aide de la fonction VBA.SPLIT, le travail sur les fonctions de Date, la fonction VBA.REPLACE pour modifier une chaîne de caractères, et plein d'autres astuces (Tableau Croisé Dynamique avec regroupement de valeurs sur les Dates, et Graphique croisé dynamique montrant le plus bas et le plus haut d'une période)

Résultat Final ... YahooV2.xlsm

Importer dans Excel les données boursières de Yahoo Finance V3

Yahoo finance données boursières évolution 2

Voir sur Youtube : Cours Yahoo Finance 3

Comment rapatrier dans Excel les cours de bourses historiques accessibles dans Yahoo Finance.

Importation automatisée à partir du fichier csv que génère Yahoo Finance quand on souhaite l'historique des cours d'un titre donné.

La différence avec la version 2 réside dans le nouveau traitement VBA suite aux modifications Yahoo Résultat Final ... YahooV3.xlsm

Retour en Haut de page

Ouvrir un formulaire VBA selon le choix fait dans une liste déroulante

Ouvrir un formulaire VBA Excel selon un choix dans une liste déroulante

Voir sur Youtube : Formulaire selon choix 1

Comment afficher un formulaire VBA Excel, selon l'item choisi dans une zone de liste modifiable (combobox)

Pour effectuer cet exercice, nous allons parler des formulaires bien entendu, mais aussi rappeler comment créer des listes nommées de dimensions variables à l'aide du VBA et des procédures événementielles, comment calculer le logarithme décimal en VBA (à laide du logarithme népérien car la fonction logarithme décimal n'existe pas en tant que telle en VBA), ainsi que l'études de la collection Userforms (les formulaires ouverts dans le projet VBA)

Résultat Final ... ChoixOuverture.xlsm

Ouvrir un formulaire VBA selon le choix fait dans une liste déroulante - Complément

Ouvrir un formulaire VBA Excel selon un choix dans une liste déroulant - compléments

Voir sur Youtube : Formulaire selon choix 2

Comment afficher un formulaire VBA Excel, selon l'item choisi dans une zone de liste modifiable (combobox)

Cette vidéo est à considérer en complément du tuto précédent qui présente un inconvénient, à savoir, que se passe-t-il si les items sont triés différemment :

Pour effectuer cet exercice, nous allons parler des formulaires bien entendu, mais aussi l'utilisation des fonction de feuille de calcul index et Equiv en VBA pour effectuer une recherche verticale.

Résultat Final ... ChoixOuvertureV2.xlsm

Variables tableau VBA - 1 ou 2 dimensions - Exercice pratique

Variables tableau VBA - 1 ou 2 dimensions - Exercice pratique

Voir sur Youtube : Variable Tableau

Une approche des variables tableaux à travers un exercice pratique consistant à extraire d'une base de données des "sous-bases", et les envoyer dans des feuilles de calcul différentes

Comment déclarer les variables tableaux, les dimensionner, de façon définitive ou évolutive.

Dans cette vidéo sera également abordée la problématique de la cohérence des dates entre Excel et VBA.

Démarrer l'exercice avec le bon fichier : Base de donnees EXPORT.xlsx

Résultat Final ... VariableTableau.xlsm

Liste à choix multiple avec contenu variable

Utiliser le VBA Excel pour créer une liste à choix multiple

Voir sur Youtube : Liste à choix multiple

Comment gérer une liste à choix multiple pour sélectionner des options dépendants d'une rubrique située dans une autre colonne.

Comment restituer dans cette liste les options déjà sélectionnées.

Cet exercice nécessite l'utilisation du VBA.

Démarrer l'exercice avec le bon fichier : ListeMultiSource.xlsm

Résultat Final ... ListeMultiSourceFinal.xlsm

Résultat Final avec correction de bogues ... ListeMultiFinalCorrige.xlsm

Résultat Final version "Guillaume" : Formules dans données sources ListeMultiFinalCorrige_Guillaume.xlsm

Comment protéger une liste à choix multiple

Protéger une liste à choix multiple en VBA Excel

Voir sur Youtube : Protéger une Liste à choix multiple

Démarrer l'exercice avec le bon fichier : ListeMultiFinalCorrige.xlsm

Et le fichier final... ListeMultiFinalCorrigeP.xlsm

Résultat Final version "Guillaume" : Formules dans données sources ListeMultiFinalCorrigeP_Guillaume.xlsm

Réponses aux questions sur listes à choix multiples...

FAQ sur les lListe à choix multiple du VBA Excel

Voir sur Youtube : FAQ liste à choix multiple

Cette vidéo apporte des réponses aux questions posées par les utilisateurs dans la vidéo Liste à choix multiple avec contenu variable

Elle permet de répondre notamment aux questions suivantes :

  1. Comment gérer un besoin plus simple avec une seule liste.
  2. Comment gérer le besoin d'avoir une liste dans une seule cellule
  3. Comment gérer les tableaux horizontaux
  4. Comment avoir une seconde liste dans une feuille différentes

Cet exercice nécessite l'utilisation du VBA.

Démarrer l'exercice avec le bon fichier : Liste Simple initial.xlsm

Résultat Final ... Liste simple final.xlsm

Réponses complémentaires sur Liste - Statistiques sur items

Liste à choix multiple - Statistiques

Voir sur Youtube : Statistique - Liste à choix multiple

Cette vidéo apporte des réponses aux questions complémentaires posées par les utilisateurs dans la vidéo Liste à choix multiple avec contenu variable

Elle permet de répondre notamment aux questions suivantes :

  • Comment positionner la liste à gauche de la cellule.
  • Comment ajouter des statistiques sur les items sélectionnés dans les listes :
    • Effectuer des cumuls
    • Effectuer un comptage des items

Cet exercice nécessite l'utilisation du VBA.

Démarrer l'exercice avec le bon fichier : ListeSimpleFinal.xlsm

Et obtrenir le fichier prêt à l'emploi... ListeSimpleStatFinal.xlsm

Listes à choix multiples Compatible Mac... Sans Contôle Active X

VBA Excel : Liste à choix multiple compatibles Mac

Voir sur Youtube : Liste à choix multiple Compatible Mac

Cette vidéo apporte des réponses à une question posée par un utilisateur Mac dans la vidéo Liste à choix multiple avec contenu variable

Elle permet notamment de comprendre comment gérer la nouvelle version d'Excel sur Mac, version qui ne supporte plus les Contrôles Active X.

Cet exercice nécessite l'utilisation du VBA.

Démarrer l'exercice avec le bon fichier : Liste Mac initial. Fichier de départ

Résultat Final ... Liste Mac final

Envoi de mail avec fichier attaché via Outlook

Utiliser le VBA Excel pour envoyer un mail avec fichier attaché

Voir sur Youtube : Envoi de mail avec fichier attaché via Outlook

Comment envoyer un mail avec fichier attaché via Outlook en utilisant VBA Excel.

Cet exercice nécessite l'utilisation du VBA.

Démarrer l'exercice avec le bon fichier : Base_Mail.xlsm

Résultat Final ... Base_Mail_Final.xlsm

Retour en Haut de page