SlideShare une entreprise Scribd logo
ApprendreVBA Excel
Wisly FIDEL
De quoi est composé cette
formation et qui elle est destiné?
• Cette formation est composée de 13 leçons.
Je conseille fortement de suivre ces leçons dans l’ordre afin de bien
assimiler l’apprentissage des bases du langageVBA.
Les leçons font l’objet de vidéos explicatives détaillant pas à pas la
théorie et suivi d’exemples concrets.
• A qui est-elle destinée ?
A toutes personnes qui souhaite apprendre les bases du langageVBA
dans Excel et qui souhaite automatiser certaines tâches.
Il n’y a pas de prérequis pour faire cette formation.Vous devez juste
connaître les bases d’Excel et sans avoir aucune connaissance dans le
langage de programmation.
Leçon n° 1 - Introduction
• Qu’est-ce qu’une Macro :
Une macro est une procédure, c’est-à-dire un ensemble
d’instruction qui exécutent une tâche spécifique ou renvoient un
résultat.
• Quand utiliser des macros ?
Les macros permettent de gagner tu temps d’étendre les
possibilités des programmes que vous utilisez tous les jours.Vous
pouvez les utiliser pour automatiser des tâches répétitives.
• Méthodologie de création d’une macro :
Deux méthodes sont utilisées pour créer des macros Excel :
Enregistrer une séquence d’instruction.
Utiliser la programmation enVisual Basic pourApplication (VBA)
Leçon n° 2 – Personnalisation de
l’environnement
• Accéder à l’onglet Développeur :
Onglet Fichier / Options / Personnaliser le ruban. Cocher la case
indiquée : Développeur
• Personnaliser le ruban :
Objectif : Créer un nouvel onglet dans le Ruban intitulé « Mon
Onglet » avec la création de deux groupes :
« Mes macros »
« Mes Commandes »
Onglet Fichier / Options / Personnaliser le Ruban / Nouvel Onglet
Leçon n° 3 – Création de macros –
L’enregistreur de macros
• Utiliser l’enregistreur de macros :
OngletAffichage / Macros / Enregistreur de macros
Onglet Développeur / Code / enregistrer une macro.
• Préparer des actions à enregistrer :
Cliquez sur la cellule A1 pour la sélectionner
Entrez le texte « Bonjour » et mettre en gras
Coupez la cellule (Ctrl X ou Presse-papier)
Puis Collez dans la cellule B1 (CtrlV ou Presse-papier)
• Utilisez les raccourcis clavier :
Prévoir une 3ème combinaison (Ctrl + Shift + Lettre) afin d’éviter de
tomber sur une touche déjà existante.
Leçon n° 3 – Création de macros –
L’enregistreur de macros
• Réaliser les manipulations mentionnées:
Pour stopper l’enregistrement :
Onglet Développeur / Code / Arrêter l’enregistrement
Barre d’Etat et cliquez sur le petit carré (en bas de l’écran)
Bravo !!! - Vous venez de créer votre première macro.
• Choisir l’emplacement pour enregistrer votre macro :
Ce classeur (Choix par défaut)
Nouveau classeur (Rarement utilisé)
Classeur de macro personnelle (Module générique accessible à
tous les classeurs. C’est un classeur masqué qui s’ouvre
automatiquement au lancement d’Excel. Les procédures sont
toujours accessibles à l’ouverture de tout classeur, quel qu’il soit.
Ce classeur est nommé : Personnal.xlsb
Leçon n° 3 – Création de macros –
L’enregistreur de macros
• Appeler et exécuter une macro :
Par la liste des macros
Par la touche de raccourci
Par un bouton de commande
Par une image ou une forme.
• Visualiser le code d’une macro :
OngletAffichage / Macros / Modifier
Onglet Développeur / Macros / Afficher les macros
Explications du code généré par la macro.
Leçon n° 3 – Création de macros –
L’enregistreur de macros
• Enregistrer des macros en références relatives :
OngletAffichage / Macros / Cocher Référence relative
Onglet Développeur / Code / Utiliser les références relatives.
Exemple : Créer un planning simplifié en utilisant l’enregistreur de
macro en références relatives.
Réaliser les étapes puis stopper l’enregistrement.
Aller dans une autre feuille du classeur et exécuter la macro.
Nota : Ne pas oubliez de désactiver le bouton : Utiliser les
références relatives.
Explications du code généré.
Leçon n° 4 – L’environnementVBA
• Découvrir les fenêtres, menus et l’explorateur de projets. :
Visual Basic Editor (VBE) => Alt F11
L’explorateur de Projet
La fenêtre des propriétés
La fenêtre de code
L’explorateur d’Objets => F2
• Personnaliser les OptionsVBA :
Onglet Outils / Options
La sécurité des macros => .xlsm
Protéger le codeVBA
Leçon n° 5 – Principe de
programmation
• La déclaration . :
La procédure => Sub …. End Sub
La fonction => Function …. End Function
Les commentaires => ‘ ou Rem
• VBA – Programmation Orientée Objet (P.O.O) :
Les Classes d’Objets
Les Propriétés
Les Méthodes
Les Modules
A retenir : L’accès aux objets se fait comme suit :
NomClasse(‘’ Nom de l’instance de cette classe’’).Métode
Leçon n° 5 – Principe de
programmation
• Un tableau pour mieux comprendre :
• Exemple : Création d’un code permettant de se déplacer
d’une feuille vers une autre dans une classeur.
Classes Objets Excel Classes ObjetsVBA
Excel Application
Classeurs Workbooks
Feuilles Worksheets / Sheets
Cellules Range / Cells
Leçon n° 6 – Champ d’Application
• Les Sélections :
• Les Propriétés :
• L’instructionWith :
Syntaxe : With <Objet >
Instructions
End With
• Les Couleurs :
 IndexColor : (56 couleurs)
 Color RGB : (Millions de couleurs)
Leçon n° 7 – LesVariables
• Définition :
Les variables permettent de stocker toutes sortes de données.
• Déclaration :
Les variables sont identifiées par un Nom permettant de faire référence à
la valeur stockée et un Type déterminant la nature des données. Pour créer une
variable, vous devez la déclarer.
La déclaration des variables enVBA peut être Implicite ou Explicite
Déclaration Implicite : Elles se font directement par l’affectation d’une
valeur à un nom de variable. Le type de données est alors le type par défaut,
soit Variant
Déclaration Explicit : Il est possible d’imposer la déclaration de variables
en utilisant l’instruction : Option Explicit
Déclarer ses variables n’est pas une obligation, mais il est fortement
conseillé de prendre l’habitude de les déclarer.Cela afin de s’y retrouver
plus facilement lors d’une erreur et surtout d’optimiser la rapidité
d’exécution du codeVBA.
Leçon n° 7 – LesVariables
• Syntaxe :
<InstructiondeDéclaration> NomVariable As <TypedeDonnées>
Où InstructiondeDéclaration> :
Dim : La variable déclarée est disponible qu’au sein de la
procédure (Variable Locale)
Private : La variable déclarée est disponible que pour le
module dans lequel elle est déclarée.
Public : La variable déclarée est accessible depuis
l’ensemble des modules de tous les projets Excel ouverts.
Static : La variable déclarée conserve leur valeur
pendant toute la durée de l’exécution du code.
Leçon n° 7 – LesVariables
• Type de Données :
Nom Type Suffixe Détails
Byte Numérique Nombre entier de 0 à 255
Integer Numérique % Nombre entier de -32768 à 32767
Long Numérique &
Nombre entier de -2147483648 à
2417483647
Currency Numérique @ Nombre décimal fixe
Single Numérique !
Nombre à virgule flottante de
-3402823E38 à 3402823E38
Double Numérique # Nombre à virgule flottante
String Texte $ Texte
Date Date Date et Heure
Boolean Booléen True (Vrai) ou False (Faux)
Objet Objet Objet Microsoft
Variant Tous
Tous type de données (type par défaut si la
variable n’est pas déclarée)
Leçon n° 8 – Les InstructionsVBA
• Les instructions conditionnelles :
En programmation, les conditions sont très utiles, elles servent à effectuer des
actions en fonction de critères.
La principale fonction est IF (Même principe que la fonction SI()
dans Excel)
Syntaxe :
If <Condition à tester > Then
Instructions siVrai
Else
Instructions si Faux
End If
Leçon n° 8 – Les InstructionsVBA
• Les instructions conditionnelles imbriquées :
Syntaxe :
If <Condition 1 à tester > Then
Instructions siVrai
ElseIf <Condition 2 à tester > Then
Instructions siVrai
ElseIf <Condition 3 à tester > Then
Instructions siVrai
…
Else
Instructions si Faux
End If
Leçon n° 8 – Les InstructionsVBA
• Une alternative aux instructions conditionnelles
imbriquées, utiliser la fonction Select Case :
Syntaxe :
Select Case <ExpressionTestée >
Case Is <Condition 1 >
Instructions
Case Is <Condition 2 >
Instructions
…
Case Else
Instructions
End Select
Leçon n° 8 – Les InstructionsVBA
• Les Instructions de boucles :
Définition : Les boucles permettent de répéter des instructions
un certain nombre de fois.
Les boucles de type Compteur (For … Next)
Elle permet à chaque répétition de la boucle d’incrémenter une
variable automatiquement.
Syntaxe :
For i = 1 to 10
Instructions
Next i
Leçon n° 8 – Les InstructionsVBA
• Les Instructions de boucles :
Définition : Les boucles permettent de répéter des instructions
un certain nombre de fois.
Les boucles de type Compteur (For Each … Next)
Elle permet à chaque répétition de la boucle d’incrémenter une
variable automatiquement.
Syntaxe :
For Each Valeur in MesValeurs
Instructions
NextValeur
Leçon n° 8 – Les InstructionsVBA
• Les Instructions de boucles :
Définition : Les boucles permettent de répéter des instructions
un certain nombre de fois.
Les boucles de type Conditionnelles (While … Wend)
Elle permet des répétitions d’instructions tant que la condition
est vérifiée.Très utile pour créer des séries incrémentées.
Syntaxe :
While < Condition >
Instructions
Wend
Leçon n° 8 – Les InstructionsVBA
• Les Instructions de boucles :
Définition : Les boucles permettent de répéter des instructions
un certain nombre de fois.
Autres boucles conditionnelles (Do … Loop)
Syntaxe :
Do While < Condition >
Instructions
Loop
Leçon n° 8 – Les InstructionsVBA
• Les Instructions de boucles :
Définition : Les boucles permettent de répéter des instructions
un certain nombre de fois.
Autres boucles conditionnelles (Do … Loop)
La condition peut également être placée en fin de boucle
Syntaxe :
Do
Instructions
Loop While < Condition >
Leçon n° 8 – Les InstructionsVBA
• Les Instructions de boucles :
Définition : Les boucles permettent de répéter des instructions
un certain nombre de fois.
Autres boucles conditionnelles (Do … Loop)
Il possible de quitter la boucle lorsque la condition est vérifiée.
Syntaxe :
Do Until < Condition >
Instructions
Loop
Leçon n° 9 – Les Boites de dialogue
prédéfinies
• La boite de message (MsgBox) :
Définition : Cette fonction affiche un message dans une boite de
dialogue, éventuellement accompagnée d’un icône et de u à trois
boutons.
Syntaxte :
MsgBox (<Prompt>,<Buttons>,<Title>,<Helpfile>,<Context>)
Prompt : Texte du message dans la boîte de dialogue
Buttons : Expression numérique qui représente la somme des
valeurs spécifiant les boutons à afficher, le style d’icône à utiliser,
l’identité du bouton par défaut, ainsi que la modalité.
Title: Texte dans la barre de titre
HelpFile : fichier d’aide à utiliser
Context : rubrique de l’aide concernée
Leçon n° 9 – Les Boites de dialogue
prédéfinies
• La boite de message de saisie (InputBox) :
Définition : Cette fonction permet à l’utilisateur d’entrer une
valeur depuis une boite de dialogue.
Syntaxte :
InputBox(Prompt,Title,Default,Xpos,Ypos, Helpfile, Context,Type)
Prompt : Texte du message dans la boîte de dialogue
Title : Texte dans la barre de titre
Default : Valeur proposée par défaut
Left etTop : PositionVerticale et Horizontale de la boite
HelpFile : fichier d’aide à utiliser
Context : rubrique de l’aide concernée
Type : Type de donnée qui devra être renvoyé.
Leçon n° 9 – Les Boites de dialogue
prédéfinies
• La boite de message de saisie (InputBox) :
Syntaxte :
InputBox(Prompt,Title,Default,Xpos,Ypos, Helpfile, Context,Type)
Type : Type de donnée qui devra être renvoyé.
Les codes indiquant lesTypes de données :
Code Type de données
0 Formule
1 Nombre
2 Chaîne de texte
4 Valeur Booléenne
8 Référence de cellule
16 Pour une valeur d’erreur
Leçon n° 10 – Les Formulaires
Personnalisés (User Form)
• La boite de dialogue personnalisée (UserForm) :
Définition : Les formulaires permettent de réaliser de Interfaces
Utilisateur simple et conviviales pour la saisie, la modification ou la
visualisation de données.
Les formulaires sont des boites de dialogue sur lesquels vous
pouvez :
Insérer de contrôles ActiveX (Zone de texte, Liste Déroulante,…)
Associer du codeVBA permettant de répondre aux différents
évènements utilisateur (Clic souris, saisie zone de texte,
sélection liste déroulante,…)
• Créer un Formulaire :
Onglet Insertion / Userform
Leçon n° 10 – Les Formulaires
Personnalisés (User Form)
• Insérer des Contrôles :
Définition : Les contrôles s’insère grâce à la boite à outils
(Attention : cette dernière disparait si nous quittons le formulaire)
Les contrôles ont toutes une panoplie de propriétés et d’évènements qui
diffèrent d’un contrôle à l’autre. Convention des programmeurs : utiliser un
trigramme afin de distinguer les différents contrôles :
Trigramme Contrôle Trigramme Contrôle
frm Formulaire btn Bouton de commande
txt Zone de texte lbl Zone Étiquette
cbo Liste Déroulante lst Zone de liste
opt Bouton d’Option chk Case à cocher
fra Cadre tog Bouton à bascule
scr Barre de défilement spi Toupie
mul Multipage img Image
Leçon n° 10 – Les Formulaires
Personnalisés (User Form)
• Définir l’ordre de tabulation:
Définition : Permet de déterminer l’accès à un contrôle grâce à la
touche de clavier Tabulation.
Onglet Affichage / Ordre deTabulation ou Clic droit sur le formulaire et
Ordre de
• Déclencher et Afficher un formulaire :
Pour afficher un formulaire depuis une procédure, il faut utiliser la
commande Show ou Load
Exemple : NomFormulaire.Show ou Load NomFormulaire
• Déclencher et Fermer un formulaire :
Pour fermer un formulaire depuis une procédure, il faut utiliser la
commande Hide ou Unload
Exemple : NomFormulaire.Hide ou Unload Me
Leçon n° 11 – Les Évènements
Workbook
• L’évènementWorkbook :
Définition : Permet d’exécuter du code lors de certains
évènements du classeur (Exemple : ouverture, fermeture,
impression,… )
Pour exécuter des instructions sur le classeur, allez dans
ThisWorkbook et sélectionner Workbook.
Sélectionner l’évènement sur lequel vous désirez déclencher les
instructions.
Évènement Workbook_Open
Évènement Workbook_BeforeClose
Leçon n° 12 – La Gestion des erreurs
et les Outils de Débogage
• La gestion des erreurs :
Définition : Lorsqu’une erreur se produit,VBA génère parfois une erreur qui
interrompt l’exécution de l’application.
Les 4 différents types d’erreur :
Les erreurs de syntaxe : vérification automatique – Onglet
Outils/Options/Éditeur/Vérification automatique.
Exemple : les erreurs de syntaxe non corrigés provoquent une erreur de
compilation (IF a>B => manqueThen)
Les erreurs de compilation : Elles sont décelées lorsqu’Excel tente de
compiler votre code. Option Compiler du menu Débogage (Exemple :
variable non déclarée)
Les erreurs d’exécution : sont décelées lorsqu’Excel tente d’exécuter
votre code. (Exemple : affectation d’une valeur non numérique à une
variable de type numérique. Oublier d’appeler une procédure, une
fonction. Appeler une feuille de calcul qui n’existe pas)
Les erreurs logiques : les plus difficiles à détecter. Erreur de
raisonnement ou algorithme de calcul (Exemple : > à la place< ou Or ou
And)
Leçon n° 12 – La Gestion des erreurs
et les Outils de Débogage
• Les outils de débogage :
l’instruction On Error Goto Ligne
Définition : L’argument Ligne doit être une étiquette de ligne ou
un numéro de ligne.
L’instruction Resume :
Définition : L’instruction Resume permet de reprendre
l’exécution du code lorsque la routine de gestion d’erreur est
terminée.
Resume 0 Reprise de l’exécution du code là ou
l’erreur s’est produit
Resume Next Reprise à partir de l’instruction qui suit
immédiatement celle qui a généré l’erreur.
Resume Ligne Reprise à l’endroit spécifié par l’argument Ligne
Leçon n° 12 – La Gestion des erreurs
et les Outils de Débogage
• Les outils de débogage :
Exécuter la macro en mode « Pas à pas » (F8)
Utiliser les points d’arrêt (F9)
Afficher la fenêtre de variables locales
Utiliser l’outil Debug.Print
Afficher la fenêtre d’Exécution
Leçon n° 13 – Créer ses propres
Fonctions enVBA
• Les fonctions enVBA :
Syntaxe :
Function NomFonction (NomArgument as Type, … )
Instructions
End Function
Exemples de création et d’utilisations de fonctions :
- Fonction permettant de calculer l’âge d’une personne
- Fonction permettant de calculer la surface d’une cercle
- Fonction permettant de réaliser une recherche verticale.

Contenu connexe

PDF
Formation VBA Excel
PDF
Cours vba excel bahi djedje laurent n. formation ejs
DOC
Cours complet excel détaillé
PDF
Excel vba-9782744041587 t
PDF
Fiches Pratiques Excel 2007
PDF
Cours d'introduction aux HTML5 & CSS3
PPT
Excel ppt.ppt
PPTX
L’algorithme 1.pptx
Formation VBA Excel
Cours vba excel bahi djedje laurent n. formation ejs
Cours complet excel détaillé
Excel vba-9782744041587 t
Fiches Pratiques Excel 2007
Cours d'introduction aux HTML5 & CSS3
Excel ppt.ppt
L’algorithme 1.pptx

Tendances (20)

PDF
Programmation en C
PDF
Support NodeJS avec TypeScript Express MongoDB
PDF
02 correction-td smi-s3-algo2
PDF
PDF
Introduction a la compilation Analyse lexicale - C2
PDF
Fascicule de tp atelier développement web
PDF
React-cours.pdf
PPT
Le langage C
PPTX
DEVOPS
PPTX
PDF
Support de cours technologie et application m.youssfi
PPSX
Cours Algorithme: Matrice
PPT
Cours Excel
PDF
cours java complet-2.pdf
PPTX
Analyse de régression multiple
PDF
PDF
Support developpement applications mobiles avec ionic v3 et v4
PDF
cours algorithme et structure de données 1er année
PDF
Rapport Projet de fin d'etude sur le parc informatique
Programmation en C
Support NodeJS avec TypeScript Express MongoDB
02 correction-td smi-s3-algo2
Introduction a la compilation Analyse lexicale - C2
Fascicule de tp atelier développement web
React-cours.pdf
Le langage C
DEVOPS
Support de cours technologie et application m.youssfi
Cours Algorithme: Matrice
Cours Excel
cours java complet-2.pdf
Analyse de régression multiple
Support developpement applications mobiles avec ionic v3 et v4
cours algorithme et structure de données 1er année
Rapport Projet de fin d'etude sur le parc informatique
Publicité

Similaire à Apprendre vba excel(1) (20)

PPTX
C# langage & syntaxe
PPT
coursalgorithmique9-10.ppt
PPTX
Introduction a Java
DOCX
Tp 1 introduction à matlab
DOCX
Tp 1 introduction à matlab
PPT
CocoaHeads Toulouse - Xcode et les tests - Epitez
PDF
Les bases de la programmation en JAVA
ODP
Programmation événementielle avec VB (ISIG)
PDF
cours developpement web javascript 2023/2024
PDF
Retours sur java 8 devoxx fr 2016
PPTX
Introduction à TypeScript,language de programmation
PDF
Tp1 matlab
PDF
web-avance-jssvghjjjjjjkkkkhjjjjjkrtyujj
PPTX
De Java à .NET
PDF
js---Partie1----.pdf
KEY
Flex Unit Testing
PDF
Initiation à la programmation sous excel tutoriel2
PDF
PDF
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
PDF
Java1_BasesLangage.pdf
C# langage & syntaxe
coursalgorithmique9-10.ppt
Introduction a Java
Tp 1 introduction à matlab
Tp 1 introduction à matlab
CocoaHeads Toulouse - Xcode et les tests - Epitez
Les bases de la programmation en JAVA
Programmation événementielle avec VB (ISIG)
cours developpement web javascript 2023/2024
Retours sur java 8 devoxx fr 2016
Introduction à TypeScript,language de programmation
Tp1 matlab
web-avance-jssvghjjjjjjkkkkhjjjjjkrtyujj
De Java à .NET
js---Partie1----.pdf
Flex Unit Testing
Initiation à la programmation sous excel tutoriel2
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Java1_BasesLangage.pdf
Publicité

Apprendre vba excel(1)

  • 2. De quoi est composé cette formation et qui elle est destiné? • Cette formation est composée de 13 leçons. Je conseille fortement de suivre ces leçons dans l’ordre afin de bien assimiler l’apprentissage des bases du langageVBA. Les leçons font l’objet de vidéos explicatives détaillant pas à pas la théorie et suivi d’exemples concrets. • A qui est-elle destinée ? A toutes personnes qui souhaite apprendre les bases du langageVBA dans Excel et qui souhaite automatiser certaines tâches. Il n’y a pas de prérequis pour faire cette formation.Vous devez juste connaître les bases d’Excel et sans avoir aucune connaissance dans le langage de programmation.
  • 3. Leçon n° 1 - Introduction • Qu’est-ce qu’une Macro : Une macro est une procédure, c’est-à-dire un ensemble d’instruction qui exécutent une tâche spécifique ou renvoient un résultat. • Quand utiliser des macros ? Les macros permettent de gagner tu temps d’étendre les possibilités des programmes que vous utilisez tous les jours.Vous pouvez les utiliser pour automatiser des tâches répétitives. • Méthodologie de création d’une macro : Deux méthodes sont utilisées pour créer des macros Excel : Enregistrer une séquence d’instruction. Utiliser la programmation enVisual Basic pourApplication (VBA)
  • 4. Leçon n° 2 – Personnalisation de l’environnement • Accéder à l’onglet Développeur : Onglet Fichier / Options / Personnaliser le ruban. Cocher la case indiquée : Développeur • Personnaliser le ruban : Objectif : Créer un nouvel onglet dans le Ruban intitulé « Mon Onglet » avec la création de deux groupes : « Mes macros » « Mes Commandes » Onglet Fichier / Options / Personnaliser le Ruban / Nouvel Onglet
  • 5. Leçon n° 3 – Création de macros – L’enregistreur de macros • Utiliser l’enregistreur de macros : OngletAffichage / Macros / Enregistreur de macros Onglet Développeur / Code / enregistrer une macro. • Préparer des actions à enregistrer : Cliquez sur la cellule A1 pour la sélectionner Entrez le texte « Bonjour » et mettre en gras Coupez la cellule (Ctrl X ou Presse-papier) Puis Collez dans la cellule B1 (CtrlV ou Presse-papier) • Utilisez les raccourcis clavier : Prévoir une 3ème combinaison (Ctrl + Shift + Lettre) afin d’éviter de tomber sur une touche déjà existante.
  • 6. Leçon n° 3 – Création de macros – L’enregistreur de macros • Réaliser les manipulations mentionnées: Pour stopper l’enregistrement : Onglet Développeur / Code / Arrêter l’enregistrement Barre d’Etat et cliquez sur le petit carré (en bas de l’écran) Bravo !!! - Vous venez de créer votre première macro. • Choisir l’emplacement pour enregistrer votre macro : Ce classeur (Choix par défaut) Nouveau classeur (Rarement utilisé) Classeur de macro personnelle (Module générique accessible à tous les classeurs. C’est un classeur masqué qui s’ouvre automatiquement au lancement d’Excel. Les procédures sont toujours accessibles à l’ouverture de tout classeur, quel qu’il soit. Ce classeur est nommé : Personnal.xlsb
  • 7. Leçon n° 3 – Création de macros – L’enregistreur de macros • Appeler et exécuter une macro : Par la liste des macros Par la touche de raccourci Par un bouton de commande Par une image ou une forme. • Visualiser le code d’une macro : OngletAffichage / Macros / Modifier Onglet Développeur / Macros / Afficher les macros Explications du code généré par la macro.
  • 8. Leçon n° 3 – Création de macros – L’enregistreur de macros • Enregistrer des macros en références relatives : OngletAffichage / Macros / Cocher Référence relative Onglet Développeur / Code / Utiliser les références relatives. Exemple : Créer un planning simplifié en utilisant l’enregistreur de macro en références relatives. Réaliser les étapes puis stopper l’enregistrement. Aller dans une autre feuille du classeur et exécuter la macro. Nota : Ne pas oubliez de désactiver le bouton : Utiliser les références relatives. Explications du code généré.
  • 9. Leçon n° 4 – L’environnementVBA • Découvrir les fenêtres, menus et l’explorateur de projets. : Visual Basic Editor (VBE) => Alt F11 L’explorateur de Projet La fenêtre des propriétés La fenêtre de code L’explorateur d’Objets => F2 • Personnaliser les OptionsVBA : Onglet Outils / Options La sécurité des macros => .xlsm Protéger le codeVBA
  • 10. Leçon n° 5 – Principe de programmation • La déclaration . : La procédure => Sub …. End Sub La fonction => Function …. End Function Les commentaires => ‘ ou Rem • VBA – Programmation Orientée Objet (P.O.O) : Les Classes d’Objets Les Propriétés Les Méthodes Les Modules A retenir : L’accès aux objets se fait comme suit : NomClasse(‘’ Nom de l’instance de cette classe’’).Métode
  • 11. Leçon n° 5 – Principe de programmation • Un tableau pour mieux comprendre : • Exemple : Création d’un code permettant de se déplacer d’une feuille vers une autre dans une classeur. Classes Objets Excel Classes ObjetsVBA Excel Application Classeurs Workbooks Feuilles Worksheets / Sheets Cellules Range / Cells
  • 12. Leçon n° 6 – Champ d’Application • Les Sélections : • Les Propriétés : • L’instructionWith : Syntaxe : With <Objet > Instructions End With • Les Couleurs :  IndexColor : (56 couleurs)  Color RGB : (Millions de couleurs)
  • 13. Leçon n° 7 – LesVariables • Définition : Les variables permettent de stocker toutes sortes de données. • Déclaration : Les variables sont identifiées par un Nom permettant de faire référence à la valeur stockée et un Type déterminant la nature des données. Pour créer une variable, vous devez la déclarer. La déclaration des variables enVBA peut être Implicite ou Explicite Déclaration Implicite : Elles se font directement par l’affectation d’une valeur à un nom de variable. Le type de données est alors le type par défaut, soit Variant Déclaration Explicit : Il est possible d’imposer la déclaration de variables en utilisant l’instruction : Option Explicit Déclarer ses variables n’est pas une obligation, mais il est fortement conseillé de prendre l’habitude de les déclarer.Cela afin de s’y retrouver plus facilement lors d’une erreur et surtout d’optimiser la rapidité d’exécution du codeVBA.
  • 14. Leçon n° 7 – LesVariables • Syntaxe : <InstructiondeDéclaration> NomVariable As <TypedeDonnées> Où InstructiondeDéclaration> : Dim : La variable déclarée est disponible qu’au sein de la procédure (Variable Locale) Private : La variable déclarée est disponible que pour le module dans lequel elle est déclarée. Public : La variable déclarée est accessible depuis l’ensemble des modules de tous les projets Excel ouverts. Static : La variable déclarée conserve leur valeur pendant toute la durée de l’exécution du code.
  • 15. Leçon n° 7 – LesVariables • Type de Données : Nom Type Suffixe Détails Byte Numérique Nombre entier de 0 à 255 Integer Numérique % Nombre entier de -32768 à 32767 Long Numérique & Nombre entier de -2147483648 à 2417483647 Currency Numérique @ Nombre décimal fixe Single Numérique ! Nombre à virgule flottante de -3402823E38 à 3402823E38 Double Numérique # Nombre à virgule flottante String Texte $ Texte Date Date Date et Heure Boolean Booléen True (Vrai) ou False (Faux) Objet Objet Objet Microsoft Variant Tous Tous type de données (type par défaut si la variable n’est pas déclarée)
  • 16. Leçon n° 8 – Les InstructionsVBA • Les instructions conditionnelles : En programmation, les conditions sont très utiles, elles servent à effectuer des actions en fonction de critères. La principale fonction est IF (Même principe que la fonction SI() dans Excel) Syntaxe : If <Condition à tester > Then Instructions siVrai Else Instructions si Faux End If
  • 17. Leçon n° 8 – Les InstructionsVBA • Les instructions conditionnelles imbriquées : Syntaxe : If <Condition 1 à tester > Then Instructions siVrai ElseIf <Condition 2 à tester > Then Instructions siVrai ElseIf <Condition 3 à tester > Then Instructions siVrai … Else Instructions si Faux End If
  • 18. Leçon n° 8 – Les InstructionsVBA • Une alternative aux instructions conditionnelles imbriquées, utiliser la fonction Select Case : Syntaxe : Select Case <ExpressionTestée > Case Is <Condition 1 > Instructions Case Is <Condition 2 > Instructions … Case Else Instructions End Select
  • 19. Leçon n° 8 – Les InstructionsVBA • Les Instructions de boucles : Définition : Les boucles permettent de répéter des instructions un certain nombre de fois. Les boucles de type Compteur (For … Next) Elle permet à chaque répétition de la boucle d’incrémenter une variable automatiquement. Syntaxe : For i = 1 to 10 Instructions Next i
  • 20. Leçon n° 8 – Les InstructionsVBA • Les Instructions de boucles : Définition : Les boucles permettent de répéter des instructions un certain nombre de fois. Les boucles de type Compteur (For Each … Next) Elle permet à chaque répétition de la boucle d’incrémenter une variable automatiquement. Syntaxe : For Each Valeur in MesValeurs Instructions NextValeur
  • 21. Leçon n° 8 – Les InstructionsVBA • Les Instructions de boucles : Définition : Les boucles permettent de répéter des instructions un certain nombre de fois. Les boucles de type Conditionnelles (While … Wend) Elle permet des répétitions d’instructions tant que la condition est vérifiée.Très utile pour créer des séries incrémentées. Syntaxe : While < Condition > Instructions Wend
  • 22. Leçon n° 8 – Les InstructionsVBA • Les Instructions de boucles : Définition : Les boucles permettent de répéter des instructions un certain nombre de fois. Autres boucles conditionnelles (Do … Loop) Syntaxe : Do While < Condition > Instructions Loop
  • 23. Leçon n° 8 – Les InstructionsVBA • Les Instructions de boucles : Définition : Les boucles permettent de répéter des instructions un certain nombre de fois. Autres boucles conditionnelles (Do … Loop) La condition peut également être placée en fin de boucle Syntaxe : Do Instructions Loop While < Condition >
  • 24. Leçon n° 8 – Les InstructionsVBA • Les Instructions de boucles : Définition : Les boucles permettent de répéter des instructions un certain nombre de fois. Autres boucles conditionnelles (Do … Loop) Il possible de quitter la boucle lorsque la condition est vérifiée. Syntaxe : Do Until < Condition > Instructions Loop
  • 25. Leçon n° 9 – Les Boites de dialogue prédéfinies • La boite de message (MsgBox) : Définition : Cette fonction affiche un message dans une boite de dialogue, éventuellement accompagnée d’un icône et de u à trois boutons. Syntaxte : MsgBox (<Prompt>,<Buttons>,<Title>,<Helpfile>,<Context>) Prompt : Texte du message dans la boîte de dialogue Buttons : Expression numérique qui représente la somme des valeurs spécifiant les boutons à afficher, le style d’icône à utiliser, l’identité du bouton par défaut, ainsi que la modalité. Title: Texte dans la barre de titre HelpFile : fichier d’aide à utiliser Context : rubrique de l’aide concernée
  • 26. Leçon n° 9 – Les Boites de dialogue prédéfinies • La boite de message de saisie (InputBox) : Définition : Cette fonction permet à l’utilisateur d’entrer une valeur depuis une boite de dialogue. Syntaxte : InputBox(Prompt,Title,Default,Xpos,Ypos, Helpfile, Context,Type) Prompt : Texte du message dans la boîte de dialogue Title : Texte dans la barre de titre Default : Valeur proposée par défaut Left etTop : PositionVerticale et Horizontale de la boite HelpFile : fichier d’aide à utiliser Context : rubrique de l’aide concernée Type : Type de donnée qui devra être renvoyé.
  • 27. Leçon n° 9 – Les Boites de dialogue prédéfinies • La boite de message de saisie (InputBox) : Syntaxte : InputBox(Prompt,Title,Default,Xpos,Ypos, Helpfile, Context,Type) Type : Type de donnée qui devra être renvoyé. Les codes indiquant lesTypes de données : Code Type de données 0 Formule 1 Nombre 2 Chaîne de texte 4 Valeur Booléenne 8 Référence de cellule 16 Pour une valeur d’erreur
  • 28. Leçon n° 10 – Les Formulaires Personnalisés (User Form) • La boite de dialogue personnalisée (UserForm) : Définition : Les formulaires permettent de réaliser de Interfaces Utilisateur simple et conviviales pour la saisie, la modification ou la visualisation de données. Les formulaires sont des boites de dialogue sur lesquels vous pouvez : Insérer de contrôles ActiveX (Zone de texte, Liste Déroulante,…) Associer du codeVBA permettant de répondre aux différents évènements utilisateur (Clic souris, saisie zone de texte, sélection liste déroulante,…) • Créer un Formulaire : Onglet Insertion / Userform
  • 29. Leçon n° 10 – Les Formulaires Personnalisés (User Form) • Insérer des Contrôles : Définition : Les contrôles s’insère grâce à la boite à outils (Attention : cette dernière disparait si nous quittons le formulaire) Les contrôles ont toutes une panoplie de propriétés et d’évènements qui diffèrent d’un contrôle à l’autre. Convention des programmeurs : utiliser un trigramme afin de distinguer les différents contrôles : Trigramme Contrôle Trigramme Contrôle frm Formulaire btn Bouton de commande txt Zone de texte lbl Zone Étiquette cbo Liste Déroulante lst Zone de liste opt Bouton d’Option chk Case à cocher fra Cadre tog Bouton à bascule scr Barre de défilement spi Toupie mul Multipage img Image
  • 30. Leçon n° 10 – Les Formulaires Personnalisés (User Form) • Définir l’ordre de tabulation: Définition : Permet de déterminer l’accès à un contrôle grâce à la touche de clavier Tabulation. Onglet Affichage / Ordre deTabulation ou Clic droit sur le formulaire et Ordre de • Déclencher et Afficher un formulaire : Pour afficher un formulaire depuis une procédure, il faut utiliser la commande Show ou Load Exemple : NomFormulaire.Show ou Load NomFormulaire • Déclencher et Fermer un formulaire : Pour fermer un formulaire depuis une procédure, il faut utiliser la commande Hide ou Unload Exemple : NomFormulaire.Hide ou Unload Me
  • 31. Leçon n° 11 – Les Évènements Workbook • L’évènementWorkbook : Définition : Permet d’exécuter du code lors de certains évènements du classeur (Exemple : ouverture, fermeture, impression,… ) Pour exécuter des instructions sur le classeur, allez dans ThisWorkbook et sélectionner Workbook. Sélectionner l’évènement sur lequel vous désirez déclencher les instructions. Évènement Workbook_Open Évènement Workbook_BeforeClose
  • 32. Leçon n° 12 – La Gestion des erreurs et les Outils de Débogage • La gestion des erreurs : Définition : Lorsqu’une erreur se produit,VBA génère parfois une erreur qui interrompt l’exécution de l’application. Les 4 différents types d’erreur : Les erreurs de syntaxe : vérification automatique – Onglet Outils/Options/Éditeur/Vérification automatique. Exemple : les erreurs de syntaxe non corrigés provoquent une erreur de compilation (IF a>B => manqueThen) Les erreurs de compilation : Elles sont décelées lorsqu’Excel tente de compiler votre code. Option Compiler du menu Débogage (Exemple : variable non déclarée) Les erreurs d’exécution : sont décelées lorsqu’Excel tente d’exécuter votre code. (Exemple : affectation d’une valeur non numérique à une variable de type numérique. Oublier d’appeler une procédure, une fonction. Appeler une feuille de calcul qui n’existe pas) Les erreurs logiques : les plus difficiles à détecter. Erreur de raisonnement ou algorithme de calcul (Exemple : > à la place< ou Or ou And)
  • 33. Leçon n° 12 – La Gestion des erreurs et les Outils de Débogage • Les outils de débogage : l’instruction On Error Goto Ligne Définition : L’argument Ligne doit être une étiquette de ligne ou un numéro de ligne. L’instruction Resume : Définition : L’instruction Resume permet de reprendre l’exécution du code lorsque la routine de gestion d’erreur est terminée. Resume 0 Reprise de l’exécution du code là ou l’erreur s’est produit Resume Next Reprise à partir de l’instruction qui suit immédiatement celle qui a généré l’erreur. Resume Ligne Reprise à l’endroit spécifié par l’argument Ligne
  • 34. Leçon n° 12 – La Gestion des erreurs et les Outils de Débogage • Les outils de débogage : Exécuter la macro en mode « Pas à pas » (F8) Utiliser les points d’arrêt (F9) Afficher la fenêtre de variables locales Utiliser l’outil Debug.Print Afficher la fenêtre d’Exécution
  • 35. Leçon n° 13 – Créer ses propres Fonctions enVBA • Les fonctions enVBA : Syntaxe : Function NomFonction (NomArgument as Type, … ) Instructions End Function Exemples de création et d’utilisations de fonctions : - Fonction permettant de calculer l’âge d’une personne - Fonction permettant de calculer la surface d’une cercle - Fonction permettant de réaliser une recherche verticale.