Excel - Graphiques - Tableaux Croisés - Macros - VBA et plus encore
Cette section est consacrée à l’automatisation dans Excel à l’aide des macros et du langage VBA. Vous y découvrirez les bases de la programmation VBA, les structures essentielles et des exemples concrets avant de passer aux travaux pratiques.
Pour automatiser une tâche répétitive, il est possible d'enregistrer une macro avec l’enregistreur de Macro dans Microsoft Excel
Lorsqu'on enregistre une macro, l’enregistreur de macro enregistre toutes les étapes dans le code Visual Basic pour Applications (VBA). Ces étapes peuvent inclure d’entrer du texte ou des nombres, en cliquant sur les cellules ou des commandes dans le ruban ou les menus, mettre en forme des cellules, lignes ou colonnes, ou encore importer des données d’une source externe, par exemple un fichier texte (.txt).
Visual Basic Applications (VBA) est présent dans la plupart des applications Office.
Lorsque l'enregistreur de macro n'est pas suffisant pour répondre au besoin, il est nécessaire d'aller plus loin et s'engager dans l'étude du VBA.
C'est donc cette approche progressive de l'étude des macros puis de la programmation VBA qui est proposée dans cette page.
👉 Pour mettre ces notions en pratique, retrouvez les exercices et cas concrets dans la page Travaux pratiques VBA Excel.
Premier tuto d'une série de 5 consacrés aux macros, avant d'aborder le VBA. Pour cette première, restons simples et découvrons comment enregistrer une macro pour mettre en forme des titres de tableaux dans n'importe quel document.
Utiliser une carte géographique pour filtrer les enregistrements d'une base de données... Première découverte de l'environnement VBA
Pour télécharger le fichier source : Ventes Carte Origine.xlsm
Consolider les données d'un fichier texte (txt) avec une base de données excel... utiliser les références relatives lors de l'enregistrement d'une macro. Comment manipuler des données d'un ficher texte dans excel
les fichiers sont à télécharger ici ... Orders.xlsx et OrdMensuel.txt
Utiliser des contrôles de formulaire, associés à une macro, pour alimenter une base de données
Dans ce tuto, on revoit également l'utilisation de tableaux Excel, la fonction INDEX pour effectuer une recherche verticale, la fonction SI, l'utilisation de cellules nommées, ainsi que des modifications mineures du code VBA.
Utiliser les macros Excel pour extraire des enregistrements selon des critères prédéfinis avec les filtres avancés.
Une seconde macro est expliquée pour automatiser la génération de listes d'items extraites d'une base de données.
Enfin, un peu de débogage VBA car tout ne se passe pas toujours comme prévu avec l'enregistreur de macros...
Bref ! un exercice assez complet sur l'automatisation par macros excel.
Fichier pour réaliser le tuto : Base de donnees EXPORT.xlsx
VBA... c'est parti avec une première approche très simple des variables en VBA
Les fichiers pour suivre ce tuto se trouvent ici... Orders.xlsx et OrdMensuel.txt MacroImport.xlsm
L'ensemble des fichiers étant à positionner dans un même dossier de votre ordinateur.
Utilisation de la boucle For Each - Next pour parcourir tous les objets d'une collection Excel Exemple, parcourir toutes les feuilles de calcul du classeur affiché dans Excel
For Each oSheet in Worksheets
Et maintenant !
Que vais-je faire ?
Next
Utilisation simpliste de Msgbox pour afficher un message à l'utilisateur Manipuler des cellules de feuille de calcul via VBA Excel
Dans ce tuto, nous abordons les structures de test en VBA
2 structures possibles :
If Condition Then
Que faire ?
Else
Quoi d'autre ?
End If
et
Select Case propriété à tester
Case Valeur 1
Case Valeur 2
Case etc...
Case Else
End Select
Fichiers : Orders.xlsx - OrdMensuel.txt - MacroImport.xlsm
Nous poursuivons l'étude des boucles VBA Excel avec la traditionnelle
For i = x to y step z
Actions à réaliser...
Next
Nous abordons également la possibilité d'informer l'utilisateur de l'état d'avancement de la macro (Application.StatusBar)
Les fichiers pour ce tuto sont ici... OrdMensuel.txt - Orders.xlsx - MacroImport_V3.xlsm le résultat final est là... MacroImport_V3_Final.xlsm
Troisième boucle, après For Each -Next et For i - Next, voici la boucle Do - Loop
Do (While, Until ?)
Actions à réaliser...
Loop (While, Until ?)
Également dans ce tuto l'interaction avec l'utilisateur (InputBox après MsgBox) et une approche des procédures événementielles (comment exécuter une macro à l'ouverture d'un classeur) Une approche ludique avec la programmation du jeu du chat et de la souris !
Nous poursuivons l'étude du VBA avec les formulaires utilisateur. Dans ce premier de la série, nous abordons la conception du formulaire.
Est également abordée ici la notion de procédure événementielle, qui va nous permettre de créer, en utilisant le VBA cette fois, des listes nommées de dimensions variables.
Après la conception d'un formulaire de saisie utilisateur, conçu en VBA, voici comment envoyer les informations saisies dans la base de données.
On découvre également dans cette vidéo, comment utiliser une fonction de feuille de calcul en VBA (application.worksheetfunction), du débogage d'erreurs (laissé en direct car non anticipé !), et la méthode pour afficher le formulaire.
Par définition, ce tuto aborde la notion de procédures événementielles.
Pour réaliser l'exercice de ce tuto, soit il faut faire le précédent (VBA 6... La conception) ou alors télécharger le fichier de fin du VBA 6 ici ... Bibliotheque_Apres_VBA_6.xlsm
La présentation se fait à l'intérieur de VLC, car la vidéo était corrompue et j'ai pu la récupérer de cette façon...
Voir sur Youtube : Contôle de Saisie
Contrôler la saisie avant l'envoi dans la base de données, modifier automatiquement la saisie des champs en supprimant les espaces inutiles à l'aide de la fonction Trim (mais comment fonctionne-t-elle ?)
Vous pouvez télécharger le fichier nécessaire à l'exécution de ce tuto ici : Bibliotheque_Apres_VBA_7.xlsm
Voir sur Youtube : Rechercher un enregistrement
Cette vidéo aborde l'envoi dans le formulaire de saisie, d'un enregistrement de la feuille de calcul, afin, éventuellement, de le modifier.
Biblio_Apres_VBA_9.xlsmPoursuite de la recherche en utilisant les contrôles multipage, toupie (SpinButton) et barre de défilement (ScollBar)
Pour réaliser l'exercice, il faut le fichier suivant : Bibliotheque_Apres_VBA_10.xlsm et le final : Bibliotheque_Apres_VBA_11.xlsm