Cet ouvrage est destiné aux personnes qui souhaitent découvrir la programmation VBA avec Excel ou qui souhaitent comprendre comment fonctionnent les macros, ces programmes qui permettent de gagner un temps considérable pour réaliser des tâches répétitives. Que vous ayez déjà des notions de programmation ou que vous soyez un parfait débutant, il va vous permettre de découvrir au fur et à mesure des chapitres, les différents aspects de la programmation VBA et comment les exploiter dans Excel. Le...
Cet ouvrage est destiné aux personnes qui souhaitent découvrir la programmation VBA avec Excel ou qui souhaitent comprendre comment fonctionnent les macros, ces programmes qui permettent de gagner un temps considérable pour réaliser des tâches répétitives. Que vous ayez déjà des notions de programmation ou que vous soyez un parfait débutant, il va vous permettre de découvrir au fur et à mesure des chapitres, les différents aspects de la programmation VBA et comment les exploiter dans Excel. Le code et les syntaxes VBA ayant peu évolué depuis Excel 97, il conviendra à toutes les versions d’Excel bien qu’il ait été rédigé en s’appuyant sur les dernières versions (Excel 2019, 2021 et Excel Microsoft 365).
Vous débuterez par la découverte de l’Enregistreur de macros et les différentes interfaces qui s’offrent à vous lorsqu’il s’agit de programmer. Vous apprendrez à créer vos premiers programmes, à déclarer et utiliser les différentes variables et constantes puis à faire la distinction entre les fonctions, les procédures et les macros.
Vous poursuivrez votre apprentissage en découvrant les principales structures du code que sont les conditions, les boucles et les opérateurs. Vous apprendrez à manipuler les textes et les dates puis les cellules, les feuilles, les classeurs avant d’exploiter l’application Excel dans son ensemble.
Les chapitres sur les formules et les graphiques vous permettront d’automatiser vos rapports et, pour permettre à vos collègues d’utiliser vos applications, vous apprendrez à créer des formulaires. Les techniques permettant de gérer les erreurs et de déboguer les programmes seront également évoquées.
Pour finir, quelques pistes vous permettant d’aller plus loin comme les modules de classes, la personnalisation du ruban Excel ou encore le pilotage des autres applications Office vous sont présentées.
Chaque chapitre est suivi d’une série d’exercices dont vous trouverez une version corrigée en fin d’ouvrage et dans les fichiers disponibles en téléchargement. Le livre se termine par un énoncé d’exercice récapitulatif dont l’objectif est de créer une application complète.
C. Vos objectifs en débutant en programmation VBA - Philosophie générale
1. 1/ Ça fonctionne
2. 2/ Ça s’optimise
3. 3/ Ça se refactorise
L’Enregistreur de macros
A. Objectifs
B. Le ruban Excel et l'onglet Développeur
1. Activer l'onglet Développeur
C. Utiliser l'Enregistreur de macros
1. À quoi sert l’Enregistreur de macros
2. Déterminer la série d’actions que vous souhaitez reproduire en code
3. Lancer l'enregistrement
4. Réaliser les actions à enregistrer
5. Arrêter l'enregistrement
D. Exécuter une macro enregistrée
E. Afficher le code de la macro
F. Première notion en VBA, les commentaires
G. Pratiquer l'Enregistreur de macros
1. Cas 1
2. Cas 2
3. Cas 3
H. Se détacher de l'Enregistreur de macros
1. Apprendre de ses erreurs pour progresser
I. Enregistrer le classeur avec les macros
J. Format de fichier avec macros
1. Avant Office 2007 : une seule extension, xls
2. Depuis Office 2007
a. Fichier sans macro : xlsx
b. Fichier avec macro : xlsm
c. Autres extensions : xlam, xlsb
K. Conclusion
L’environnement de programmation VBE
A. Objectifs du chapitre
B. Accéder à l'environnement de programmation
1. Par le ruban
2. Avec le raccourci-clavier
C. L'environnement de programmation VBE
1. L'Explorateur de projets et la fenêtre de propriétés
a. Le classeur et les feuilles
b. Les formulaires
c. Les modules
d. Les modules de classe
e. La fenêtre de propriétés
2. Le menu et les barres d’outils
3. La zone d’édition de code
4. L’aide Office et l’Explorateur d’objets
D. Configurer l’environnement VBE
1. La fenêtre d’exécution
2. La fenêtre Espions
3. La barre d’outils Édition
4. Accessibilité et amélioration de lecture
E. Conclusion
Exécution d'un programme et règles d’écriture
A. Objectifs du chapitre
B. Lancer un programme depuis le ruban
C. Lancer un programme depuis VBE
1. Par la barre d'outils
2. Par le raccourci-clavier
3. Par la fenêtre d'exécution
a. Exécuter une procédure ou une macro
b. Exécuter une fonction
4. Exemple avec une macro enregistrée
D. Le mode pas à pas
E. Les points d’arrêt
F. Règles d’écriture d’un programme
1. Une programmation impérative
2. Une indentation à respecter
3. Un programme qui voyage
G. Pour la suite de cet ouvrage
Communiquer avec l’utilisateur : MsgBox et InputBox
A. Objectif du chapitre
B. Afficher un message à l’utilisateur : MsgBox
1. Affichage élémentaire avec MsgBox
2. Propriétés et syntaxe générale de la boîte de dialogue MsgBox
a. Syntaxe générale de la fonction MsgBox
3. Texte et affichage sur plusieurs lignes
a. Affichage sur plusieurs lignes, constante vbLf
4. Les boutons
a. Affichage d’un seul bouton
b. Affichage de deux boutons
c. Affichage de trois boutons
d. Tableau récapitulatif des boutons possibles
5. Les icônes
a. Message critique : vbCritical
b. Message d’avertissement : vbExclamation
c. Message d’information : vbInformation
d. Message d’interrogation : vbQuestion
e. Tableau récapitulatif des icônes possibles
6. Le titre
7. Quelques constantes particulières
8. Affichage d’un bouton Aide
a. Sélectionner un bouton par défaut
b. Aligner le texte à droite
c. Afficher les informations de droite à gauche
9. Réponse de l’utilisateur, bouton cliqué
a. Tableau des boutons cliquables
C. Demander une information à l’utilisateur : Application.InputBox
1. Application.InputBox ou VBA.InputBox
2. Affichage élémentaire
3. Propriétés et syntaxe générales de la boîte de dialogue Application.InputBox
a. Syntaxe générale de la fonction Application.InputBox
4. Le texte et le titre : Prompt et Title
5. La valeur préremplie : Default
6. Les options d’aide : HelpFile et HelpContextId
7. Le type de valeur saisie : Type
8. Valeur de retour de la fonction
D. Exercices
1. Fonction MsgBox
a. Bonjour le monde
b. Jeu de boutons
c. Jeu d’icônes
d. Quel bouton a été cliqué
2. Fonction InputBox
a. Boîte élémentaire
3. Préremplir les informations
Les variables, les constantes
A. Définitions
B. Déclaration
C. Les types de données
1. Les types numériques
a. Les valeurs entières - Byte, Integer et Long
b. Les valeurs décimales - Single, Double et Currency
2. Les autres types de données
a. Les valeurs booléennes
b. Les chaînes de caractères
c. Les dates et heures
3. Le type Variant
4. Tableau récapitulatif
D. Déclaration multiple
E. Affecter une valeur à une variable
F. Lire une valeur de variable
G. Convertir un type de données en un autre
H. Les tableaux
1. Concept de tableau
2. Déclaration d’un tableau
a. Tableau de taille fixe
b. Tableau de taille dynamique
c. Tableau multidimensionnel
3. L’instruction ReDim
a. Conserver les données déjà présentes dans un tableau - Preserve
4. Option Base
5. Connaître les bornes d’un tableau : LBound et Ubound
6. Alimenter plusieurs valeurs d’un tableau : Array
7. Effacer le contenu d’un tableau : Erase
I. Les constantes
1. Les constantes de l’utilisateur
2. Les constantes Office
J. Convention de nommage
1. Un nom unique pour les variables
2. Règles générales de nommage
3. Convention de nommage des variables et des constantes
a. Un nom explicite
b. Un nom lisible
c. Un nom de variable ou de constante
d. Un nom d’un type
4. Convention de nommage des contrôles
5. Convention de nommage des objets Excel
K. Exercices
1. Déclaration simple de variables
2. Déclaration multiple de variables
3. Affectation de valeurs
a. Chaîne de caractères
b. Date
c. Booléen
d. Numérique
e. Constante
Procédures, fonctions et macros
A. Objectifs du chapitre
B. Procédures, fonctions et macros
1. Les procédures
a. Déclaration d’une procédure
b. Appel d’une procédure
2. Les fonctions
a. Déclaration d’une fonction
b. Appel d’une fonction
3. Les macros
a. Déclaration d’une macro
b. Appel d’une macro
C. Public ou Private, tout est question de portée
1. La notion de portée
2. Portée des variables
3. Durée de vie des variables
4. Portée des procédures et fonctions
D. Les paramètres
1. Syntaxe générale
2. Différences entre ByRef ou ByVal
a. Passage par référence ByRef
b. Passage par valeur ByVal
3. Les paramètres optionnels
4. Appel d’une procédure nécessitant des paramètres obligatoires ou optionnels
E. Exercices
1. Écriture de macros
a. Macro privée
b. Macro publique
2. Écriture de procédures
a. Procédure d’affichage
3. Partage de variables publiques
4. Écriture de fonctions
Les conditions
A. Objectifs du chapitre
B. Structure de condition
C. Notion de test
D. Condition Si Alors - If Then
E. Condition Sinon - Else
F. Condition Sinon Si - ElseIf
G. Condition Selon valeur - Select Case
H. Condition condensée : IIf
I. Exercices
1. Si Alors
2. SI Sinon
3. Si Sinon Si
4. Selon Valeur
5. Condition condensée
Les boucles
A. Objectifs
B. Cas d’utilisation des boucles
C. Une boucle c’est quoi ?
D. Les différents types de boucles
1. Les boucles For Next
2. Les boucles Do Loop
3. Concept général
a. Boucles Do Until
b. Boucles Do While
4. Les Boucles While Wend
5. Boucle For Each Next
E. Boucle infinie et autres types d’erreurs liés aux boucles
1. Boucle infinie
2. Dépassement de capacité
F. Sortir d’une boucle
1. Sortir d’une boucle For - Exit For
2. Sortir d’une boucle Do - Exit Do
G. Récapitulatif selon les cas
H. Exercices
1. Boucles For Next
a. À pas de 1
b. À pas de 2
c. À Pas décroissant
d. À pas paramétré
2. Boucle Do Loop
a. Faire tant que
b. Faire jusqu’à ce que
3. Sortie de boucle
a. Sortie de For Next
Les opérateurs
A. Objectifs du chapitre
B. Opérateur d’affectation =
C. Opérateurs arithmétiques
1. Les opérateurs de base
a. L’addition +
b. La soustraction -
c. La multiplication *
d. La division /
2. La division entière \
3. L’opérateur modulo mod
4. L’exposant ^
D. Opérateurs de comparaison
1. Strictement supérieur à >
2. Supérieur ou égal à >=
3. Strictement inférieur à <
4. Inférieur ou égal à <=
5. Égal à =
6. Différent de <>
7. Opérateurs Like et Is
E. Opérateurs de logique ou opérateurs booléens
1. Opérateur ET - And
2. Opérateur OU - Or
3. Opérateur NON - Not
4. Opérateur OU EXCLUSIF - Xor
F. Priorité des opérateurs
G. Exercices
1. Opérateurs arithmétiques
a. Opérations de base
b. Division euclidienne
2. Opérateurs de comparaison
a. Comparaisons de valeurs numériques
b. Comparaison de dates
3. Opérateurs de logique
a. Les femmes et les enfants d’abord
b. Chaussette droite ou gauche
Manipuler les chaînes de caractères
A. Objectifs du chapitre
B. Concaténer les chaînes : &
C. Longueur d'une chaîne : Len()
D. Portions d'un texte : Left(), Right(), Mid()
1. Prendre les caractères de gauche : Left()
2. Prendre les caractères de droite : Right()
3. Prendre les caractères à l’intérieur d’une chaîne : Mid()
E. Majuscules et minuscules : UCase(), LCase()
1. Transformer une chaîne en lettres capitales / majuscules : UCase()
2. Transformer une chaîne en lettres minuscules : LCase()
F. Présence d’une sous-chaîne dans une chaîne : InStr(), InstrRev() et Like
1. Obtenir la position d’une chaîne : InStr()
2. Obtenir la position d’une chaîne en partant de la fin : InstrRev()
3. Opérateur Like
G. Effacer des espaces en trop : Trim()
H. Découper en un tableau, regrouper : Split, Join
1. Fonction Split()
2. Fonction Join()
I. Travailler en combinant plusieurs de ces fonctions
J. Exercices
1. Concaténation de chaînes
a. Symbole au choix
b. Un seul symbole possible
2. Portions de chaînes
a. Plus court ou plus long
b. Décomposer une date
3. Casse de chaînes
Manipuler les dates et les heures
A. Objectifs du chapitre
B. Rappel sur la gestion générale des dates
C. Gestion des dates sous VBA Excel
1. Ne pas confondre valeur et format
2. Privilégier une année sur quatre chiffres
D. Le type Date
E. Les fonctions Date et Now
1. Fonction date du jour Date()
2. Fonction date et heure du système : Now()
F. Créer une date ou une heure : les fonctions DateSerial() et TimeSerial()
1. Affecter une date précise : DateSerial()
2. Affecter un horaire précis : TimeSerial()
G. Addition et soustraction de dates
1. Par addition numérique
2. La fonction DateAdd()
H. Parties d'une date ou d’une heure
1. Année, mois ou jour d’une date : Year(), Month(), Day()
2. Jour de la semaine d’une date : WeekDay()
3. Heure, minutes et secondes d’une date : Hour(), Minute() et Second()
4. Toute autre partie d’une date : DatePart()
I. Formater l’affichage de la date sous forme de texte : FormatDateTime() et Format()
1. Fonction spécifique : FormatDateTime()
2. Fonction générique : Format()
J. Transformer une valeur en date ou heure : IsDate(), DateValue(), TimeValue() et CDate()
1. Ce texte est-il une date valide : IsDate()
2. Récupérer la date, l’heure ou l’ensemble d’une chaîne : DateValue(), TimeValue() et CDate()
K. Exercices
1. Afficher la date et l’heure système
a. Heure du système
b. Date du jour
2. Créer une date et une heure
a. Utilisation de DateSerial
b. Utilisation de TimeSerial
3. Additions et soustractions
a. À l’année prochaine
b. La semaine dernière
4. Parties d’une date
a. Traitements du 2e trimestre
b. Traitements en semaine
5. Un peu de mise au bon format
Manipuler les cellules Excel
A. Objectifs du chapitre
B. Objet et variable Range
1. Objet Range
2. Variable de type Range
a. Déclaration
b. Affectation
c. Utilisation
C. Objet Cells
D. Quelques cellules particulières : ActiveCell, Selection et Target
1. Cellule active : ActiveCell
2. Sélection active : Selection
3. Cellule(s) impliquée(s) dans les évènements Excel : Target
E. Les propriétés des cellules
1. Définition d’une propriété
2. Le contenu d’une cellule : Value, Value2
3. L’emplacement d’une cellule
a. Ligne, Colonne, Adresse : Row, Column et Address
b. Décalage vers d’autres cellules : Offset
4. Le format d’une cellule
a. Texte, Police de caractères : Font
b. Couleur du fond de cellule : Interior
c. Dimensions de la cellule : ColumnWidth, RowHeight
F. Les méthodes appliquées aux cellules
1. Définition d’une méthode
2. Activer et sélectionner une cellule
a. Activer une cellule : Activate
b. Sélectionner une cellule ou une plage de cellules : Select
3. Copier, couper et coller les données des cellules : Copy, Cut, Paste
a. Copier et coller une plage de cellules : Copy
b. Couper et coller une plage de cellules : Cut
c. Collage Spécial d’une plage de cellules : PasteSpecial
4. Fusionner ou défusionner des cellules : Merge, UnMerge
G. Exercices
1. Valeur dans une cellule
a. Avec activation
b. Sans activation
2. Un peu de couleurs
3. Copier-coller des cellules
a. Avec la méthode Copy
b. Sans la méthode Copy
4. Colonnes et lignes des cellules
Manipuler les feuilles Excel
A. Objectifs du chapitre
B. Collection des feuilles d’un classeur : Worksheets
1. Afficher la liste des feuilles
2. Connaître le nombre de feuilles de calcul : Count
3. Ajouter, déplacer ou supprimer une feuille : Add, Move, Delete
a. Ajouter une feuille : Add
b. Déplacer une feuille : Move
c. Supprimer une feuille : Delete
C. Objet Feuille de calcul : Worksheet
1. Feuilles de calcul dans l’interface VBE
2. La feuille active : ActiveSheet
3. Déclaration d’un objet Worksheet
4. Affectation d’un objet Worksheet
a. Affectation à partir de l’indice de la feuille
b. Affectation en utilisant le nom de la feuille
c. Affectation en pointant sur la feuille active
d. Affectation à partir du CodeName de la feuille
e. Erreur lors de l’affectation
5. Principales propriétés d’une feuille
a. Nom de la feuille : Name
b. Afficher ou cacher une feuille : Visible
c. Accès aux cellules : Cells, Range
d. Accès aux plages nommées : Names
e. Mise en page pour impression : PageSetup
6. Principales méthodes d’une feuille
a. Sélectionner une feuille : Select
b. Imprimer une feuille : PrintPreview, PrintOut
D. Les événements dans les feuilles
1. Définition d’un événement en VBA
2. Gestion des événements dans l’Éditeur de macros
3. Activer ou désactiver les événements : EnableEvents
4. Quelques événements pour les feuilles
a. Activation ou désactivation d’une feuille : Worksheet_Activate et Worksheet_Deactivate
b. Double clic sur une cellule : Worksheet_BeforeDoubleClick
c. Clic droit sur une cellule : Worksheet_BeforeRightClick
E. Manipuler des données dans plusieurs feuilles
1. Copier depuis une feuille, coller dans une autre
2. Comparer les données sur plusieurs feuilles
F. Exercices
1. Feuille active *
2. Copie d’une feuille à l’autre *
3. Nombre de feuilles dans un classeur*
4. Jouer sur la couleur des feuilles *
5. Organisation d’événements
a. Le clic droit
b. La modification
Manipuler les classeurs
A. Objectifs du chapitre
B. Collection des classeurs de l’application : Workbooks
1. Afficher la liste des classeurs
2. Connaître le nombre de classeurs ouverts : Count
3. Créer, ouvrir ou fermer un classeur : Add, Open, Close
a. Créer un nouveau classeur : Add
b. Ouvrir un classeur existant : Open
c. Fermer un classeur : Close
C. Objet Classeur : Workbook
1. Classeurs dans l’interface VBE
2. Le classeur actif et celui qui contient le code VBA : ActiveWorkbook et ThisWorkbook
3. Déclaration d’un objet Workbook
4. Affectation d’un objet Workbook
a. Affectation à partir de l’indice du classeur
b. Affectation en utilisant le nom du classeur
c. Affectation en pointant sur le classeur actif
d. Affectation à la création ou à l’ouverture
5. Principales propriétés d’un classeur
a. Accès aux feuilles du classeur : Worksheets et Sheets
b. Nom et chemin du classeur : Name, FullName et Path
c. Plages nommées de portée classeur : Names
6. Principales méthodes d’un classeur
a. Activer un classeur ouvert : Activate
b. Enregistrer un classeur : Save, SaveAs
c. Imprimer un classeur : PrintPreview, PrintOut
D. Les événements dans les classeurs
1. Gestion des événements dans l’Éditeur de macros
2. Quelques événements pour les classeurs
a. Ouverture du classeur : Workbook_Open
b. Sauvegarde du classeur : Workbook_BeforeSave
c. Fermeture du classeur : Workbook_BeforeClose
d. Activation ou désactivation du classeur : Workbook_Activate et Workbook_Deactivate
e. Ajout d’une nouvelle feuille : Workbook_NewSheet
f. Événements pour chacune des feuilles du classeur
E. Manipuler des données dans plusieurs classeurs
F. Exercices
1. Utiliser Thisworkbook
a. Emplacement du classeur
b. Nom de la feuille active
2. Créer, enregistrer et fermer un classeur
a. Création d’un nouveau classeur
b. Enregistrement d’un nouveau classeur
c. Fermeture d’un classeur
Manipuler l’application Excel
A. Objectifs
B. L’objet Application
1. Déclarer l'application Excel
2. Lancer une nouvelle application Excel ou utiliser l’application en cours
3. Fermer une application Excel : Quit
4. Propriété commune aux objets : Parent
C. Les propriétés de l’objet Application
1. Les objets actifs : ActiveXX
2. Les propriétés d’affichage : DisplayXX, Visible
a. Message d’avertissements : DisplayAlerts
b. Afficher la barre de formules : DisplayFormulaBar
c. Afficher la barre de statut : DisplayStatusBar
d. Afficher ou cacher l’application Excel : Visible
3. Le mode de calcul : Calculation
4. Activation des événements ou des sons : EnableEvents, EnableSound
a. Activation des procédures événementielles : EnableEvents
b. Activation du son : EnableSound
D. Les méthodes de l’objet Application
1. Parcourir dans l’Explorateur de fichiers : GetOpenFileName
E. Exercices
1. Lancer une nouvelle application Excel
2. Obtenir les objets actifs
3. Parcourir quelques fichiers
Manipuler les formules
A. Objectifs
B. Formules sous Excel
1. Onglet Formules
2. Erreurs en sortie de formules
C. Formules en VBA
1. Utiliser l’Enregistreur de macros pour commencer
a. Manipulations à effectuer
b. Analyse du code généré par l’Enregistreur de macros
2. Écrire une formule dans une cellule en VBA
3. Les différentes propriétés de formules
a. Les formules au format international : Formula
b. Les formules au format régional : FormulaLocal
c. Les formules à référence relative : FormulaR1C1, FormulaR1C1Local
d. Les formules matricielles : FormulaArray
4. Cacher une formule sur une feuille protégée : FormulaHidden
5. Gestion des erreurs dans les résultats de formules
a. Renforcer vos formules Excel : ESTERREUR ou SIERREUR
b. Adapter votre code VBA : IsError et CVErr
c. Tableau des numéros d’erreur rencontrés
D. Utiliser ses propres fonctions dans les formules Excel
E. Utiliser les formules Excel directement en VBA - WorksheetFunction
1. La propriété WorksheetFunction
2. Membres de la propriété WorksheetFunction
a. Minimum, maximum, moyenne
b. RechercheV
F. Les options de calcul et le calcul sur une feuille ou un classeur
1. Les options de calculs en VBA : Calculation
2. Calculer sur une feuille, calculer tout le classeur : Calculate
G. Exercices
1. Écriture de formules en français
a. Nombre total d’éléments
b. Quantité maximale
2. Écriture de formules en anglais
a. Volume total de commandes
b. Nombre d’apparition total d’une commande
3. Utiliser ses propres formules
Les graphiques
A. Objectifs
B. Graphiques sous Excel
C. Hiérarchie des objets Shape, ChartObject et Chart
1. La couche de dessin : Shape
2. La feuille de graphique : ChartObject
D. Le graphique : Chart
1. Collection Charts
2. Objet Chart
3. Créer un graphique
4. Définir une plage de données source : SetSourceData
5. Définir un type de graphique : ChartType
6. Affichage des axes, de la légende ou du titre : HasAxis, Has Legend, HasTitle
a. Gestion des axes d’un graphique : HasAxis
b. Afficher une légende : HasLegend, Legend
c. Donner un titre au graphique : HasTitle, ChartTitle
7. Emplacement du graphique : Left, Top, Width et Heigh
a. Propriétés d’emplacement du graphique
b. Préciser l’emplacement à la création
c. Modifier l’emplacement une fois le graphique créé
d. Propriétés d’emplacement de la zone de traçage
E. Utiliser l’Enregistreur de macros pour créer un graphique
F. Exercices
1. Création simple de graphique
a. Chiffre d’affaires mensuel
b. Répartition du chiffre par produit
2. Déplacement de graphique
a. Dès la création
b. Une fois créé
3. Personnaliser le graphique créé
Les formulaires utilisateur
A. Objectifs du chapitre
B. Les formulaires utilisateur : UserForm
1. Qu’est-ce qu’un formulaire utilisateur ?
C. Créer un premier formulaire
1. Ajouter un formulaire utilisateur
a. Par le menu
b. Directement dans l’Explorateur de projets
2. Personnaliser un formulaire utilisateur
a. Dimensionner le formulaire
b. Ajouter les contrôles
c. Ajouter les événements autour des contrôles
d. Programmer ce qu’il se passera
3. Afficher un formulaire utilisateur
4. Depuis le menu ou le raccourci-clavier
a. Afficher par le code
b. Formulaire modal ou non
5. Masquer un formulaire utilisateur
6. Fermer un formulaire utilisateur
D. Les contrôles dans un formulaire utilisateur
1. L'étiquette ou l’intitulé : Label
a. Texte de l’étiquette : Caption
2. La zone de texte : TextBox
a. Texte saisi dans la zone : Value
3. La zone de liste et la zone de liste modifiable : ListBox et Combobox
a. Plage de cellules source : RowSource
b. Ajouter une valeur : AddItem
c. Valeur sélectionnée dans la liste : Value
4. Case à cocher : CheckBox
a. Case cochée ou non : Value
5. Le bouton de commande : CommandButton
a. Texte affiché sur le bouton : Caption
6. Propriétés communes aux contrôles
a. Contrôle visible ou caché : Visible
b. Contrôle activé - Enabled
c. Emplacement et dimensions du contrôle : Top, Left, Height et Width
E. Gestion des événements dans un formulaire
1. Au chargement du formulaire : UserForm_Initialize
2. Sur le clic : Click
3. Sur modification : Change
F. Exercices
1. Formulaire élémentaire
2. Aller un peu plus loin
Gestion des erreurs et débogage
A. Objectifs du chapitre
B. Les erreurs dans Excel
1. Des erreurs de formules
2. Des erreurs de conception
C. Les erreurs en VBA
1. Faites-vous aider : Option Explicit
a. Ajouter manuellement l’instruction
b. Ajouter automatiquement lors de la création d’un module
2. Erreur de compilation
3. Erreur d’exécution
4. Erreur de votre part
D. Gérer les erreurs dans le code
1. S’assurer des valeurs des variables
a. Utiliser la souris
b. Utiliser la fenêtre d’exécution
c. Utiliser les espions
2. Blinder votre code
a. Identifier les risques d’erreur
b. Utiliser les fonctions de vérification de type ou de valeur
3. Anticiper les erreurs : On Error
a. Admettre l’apparition d’erreurs
b. Poursuivre le code à un certain endroit : On Error GoTo
c. Reprendre après avoir eu une erreur : Resume
d. Passer au travers des erreurs : On Error Resume Next
e. Arrêter la gestion d’erreurs : On Error GoTo 0
4. L’objet erreur Err
a. Propriétés de l’objet Err
b. Méthodes de l’objet Err
E. Gérer les erreurs dans les formulaires utilisateurs
1. Valider les données
2. Forcer l’utilisateur à choisir
3. Guider l'utilisateur
F. Exercices
1. Renforcer vos précédents exercices
2. Mettre en place une gestion d’erreur
3. Utiliser les fonctions de contrôle
Progresser avec le code
A. Objectifs
B. Ça fonctionne puis ça s’optimise
1. Obtenir le résultat juste
2. Obtenir le résultat juste et de façon optimale
a. Un code plus efficace
b. Un code plus simple à lire
c. Un programme plus robuste
d. Un programme commenté
e. Un programme écrit aujourd’hui, utilisé demain, par vous et par les autres
C. Ne plus réinventer la roue
1. Utiliser le code de l’Enregistreur de macros
2. Réutiliser votre propre code
3. Généraliser vos procédures et fonctions
D. Le mieux est l’ennemi du bien
Aller plus loin avec VBA
A. Ce n’est que le début
B. Les modules de classes
1. Définition sommaire d’un module de classe
2. Ajouter un module de classe
3. Les variables
4. Les propriétés
a. Lire une propriété : Get
b. Modifier une valeur de propriété élémentaire : Let
c. Modifier une valeur de propriété Objet : Set
5. Les méthodes
6. Les événements
7. Utiliser un module de classe dans un projet
C. Continuer de progresser dans le pilotage d’Excel
1. Les tableaux croisés dynamiques
2. Les mises en forme conditionnelles
3. Les protections de feuilles et de classeurs
4. Personnaliser le ruban pour lancer vos macros et afficher un formulaire utilisateur
D. Piloter une autre application qu’Excel
1. Créer et écrire dans un document Word
2. Créer et alimenter un courriel Outlook
Exercice final
A. Objectifs du chapitre
B. Énoncé principal
1. Contexte
2. Objectifs imposés
3. Objectifs libres
4. Approches possibles
a. Le code d’abord, le visuel ensuite
b. Les interfaces pour obtenir l’adhésion des utilisateurs, la machinerie ensuite
Corrections des exercices
A. Corrections des exercices
B. Communiquer avec l’utilisateur
1. Exercice 1 : Fonction MsgBox
2. Exercice 2 : Fonction InputBox
C. Les variables, les constantes
1. Exercice 1 : Déclarations simples de variables
2. Exercice 2 : Déclarations multiples de variables
3. Exercice 3 : Affectation de valeurs
D. Les procédures, les fonctions, les macros
1. Exercice 1 : Écriture de macros
2. Exercice 2 : Écriture de procédures
3. Exercice 3 : Partage de variables publiques
4. Exercice 4 : Écriture de fonctions
E. Les conditions
1. Exercice 1 : Si Alors
2. Exercice 2 : Si Sinon
3. Exercice 3 : Si Sinon Si
4. Exercice 4 : Selon Valeur
5. Exercice 5 : Condition condensée
F. Les boucles
1. Exercice 1 : Boucles For Next
2. Exercice 2 : Boucle Do Loop
3. Exercice 3 : Sortie de boucle
G. Les opérateurs
1. Exercice 1 : Opérateurs arithmétiques
2. Exercice 2 : Opérateurs de comparaison
3. Exercice 3 : Opérateurs de logique
H. Les chaînes de caractères
1. Exercice 1 : Concaténation de chaînes
2. Exercice 2 : Portions de chaînes
3. Exercice 3 : Casse de chaînes
I. Les dates et les heures
1. Exercice 1 : Afficher la date et l'heure système
2. Exercice 2 : Créer une date et une heure
3. Exercice 3 : Additions et soustractions
4. Exercice 4 : Parties d'une date
5. Exercice 5 : Un peu de mise au bon format
J. Les cellules
1. Exercice 1 : Valeur dans une cellule
2. Exercice 2 : Un peu de couleurs
3. Exercice 3 : Copier-coller des cellules
4. Exercice 4 : Colonnes et lignes des cellules
K. Les feuilles
1. Exercice 1 : Feuille active
2. Exercice 2 : Copie d'une feuille à l'autre
3. Exercice 3 : Nombre de feuilles dans un classeur
4. Exercice 4 : Jouer sur la couleur des feuilles
5. Exercice 5 : Organisation d’évènements
L. Les classeurs
1. Exercice 1 : Utiliser ThisWorkbook
2. Exercice 2 : Créer, enregistrer et fermer un classeur
M. L’application Excel
1. Exercice 1 : Lancer une nouvelle application Excel
2. Exercice 2 : Obtenir les objets actifs
3. Exercice 3 : Parcourir quelques fichiers
N. Les formules
1. Exercice 1 : Écriture de formules en français
2. Exercice 2 : Écriture de formules en anglais
O. Les graphiques
1. Exercice 1 : Création simple de graphique
2. Exercice 2 : Déplacement de graphique
3. Exercice 3 : Personnaliser le graphique créé
P. Les formulaires utilisateurs
1. Exercice 1 : Formulaire élémentaire
2. Exercice 2 : Aller un peu plus loin
Q. Gestion des erreurs et débogage
1. Exercice 1 : Renforcer vos précédents exercices
2. Exercice 2 : Mettre en place une gestion d'erreur
3. Exercice 3 : Utiliser les fonctions de contrôle
Index
Jean-Philippe ANDRÉ
Développeur, consultant autour des technologies Microsoft depuis de nombreuses années, Jean-Philippe ANDRÉ, aujourd’hui architecte Power Platform, intervient en soutien aux développeurs au Québec. Enseignant pendant près de 10 ans en écoles d’ingénieurs et à l’université, il a rédigé de nombreux livres sur la programmation VBA ou la prise en main de Dynamics 365 dans lesquels il aime à transmettre toute son expérience technique et pédagogique.