Cours VBA Hiver 07 08 Nvc .pdf



Nom original: Cours-VBA-Hiver-07-08-Nvc.pdf
Titre: Cours Base de données
Auteur: Nguyen Vi CAO

Ce document au format PDF 1.4 a été généré par Acrobat PDFMaker 8.1 pour PowerPoint / Acrobat Distiller 8.1.0 (Windows), et a été envoyé sur fichier-pdf.fr le 12/05/2014 à 14:39, depuis l'adresse IP 89.156.x.x. La présente page de téléchargement du fichier a été vue 1556 fois.
Taille du document: 214 Ko (26 pages).
Confidentialité: fichier public


Aperçu du document


Haute École de Gestion

05/10/2007

Département Économie
d’entreprise

Bienvenue
au cours Programmation en VBA Excel

Cours
Programmation
VBA

Département Économie
d’entreprise

Faisons connaissance…
„

Etudiants se présentent
‹

Nom, Prénom

‹

Avez-vous déjà fait des macros Excel ?

‹

Avec-vous déjà programmé avec VBA Excel ?

‹

Avez-vous déjà programmé avec d'autres langages
informatiques ?

„

Enseignant se présente

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 2

1

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Contexte et orientations du cours
Le cours programmation en VBA Excel
„

Dure une demi-journée (relativement court)
¾

„

Est adressé aux économistes d'entreprise
¾

„

Se concentrer sur les concepts et les instructions de base

Cours plus orienté vers la gestion que la technique

Fait partie de l'option Finance et Gestion des Risque
¾

Faire une application simple dans le domaine financier

Slide No : 3

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Démarche adoptée
„

„

Le cours s'appuie sur l'amélioration progressive d'une
application financière simple
‹

Etape 1: partir avec un 1er modèle contenant des formules

‹

Etape 2: automatiser une tâche par une macro

‹

Etape 3: introduire l'interaction avec l'utilisateur

‹

Etape 4: remplacer les formules par des programmes VBA

‹

Etape 5: faire un modèle dynamique par programmation

A chaque étape, des éléments théoriques sont présentés
en alternance avec la pratique

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 4

2

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Objectifs du cours
Savoir
„

Les concepts de base du langage VBA

„

Les instructions souvent utilisées en VBA

„

Faire une application financière simple en VBA

Par la suite
„

Utiliser l'exemple vu au cours

„

Faire des applications plus complexes en VBA

Slide No : 5

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Bibliographie

„

RIVA Fabrice, 2005,« Applications financières sous
Excel en Visual Basic », Economica

„

BIDAULT Mikaël, 2005, « Microsoft Excel & VBA XP »,
CampusPress

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 6

3

Haute École de Gestion

05/10/2007

Département Économie
d’entreprise

1er Modèle Excel
(feuille de calcul avec données et formules)

Cours
Programmation
VBA

Département Économie
d’entreprise

1er modèle Excel
Bien souvent, une feuille de calcul avec
„

Des zones contenant des données et paramètres

„

Des zone contenant des formules
‹

Qui utilisent les références absolues et/ou relatives

‹

Qui utilisent des fonctions disponibles dans Excel

‹

Qui permettent d'obtenir des résultats

„

On y ajoute éventuellement des graphiques, etc.

„

Mais il n'y a pas de programmations VBA

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 8

4

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Exemple: Le modèle Epargne0
„

Les constantes
‹

„

„

le nombre de périodes

Les données (variables)
‹

Le capital initial

‹

Le taux d'intérêt

‹

La conversion en monnaie étrangère ou non

‹

Le taux de change

Les formules permettent de calculer
‹

Le capital final en Frs

‹

Le capital final en monnaie étrangère si cette option est choisie

‹

Le capital en Frs à la fin de chacune des périodes de placement

Nguyen Vi CAO

Slide No : 9

Département Économie
d’entreprise

2ème modèle Excel
(avec utilisation des Macros )

HEG - Cours Programmation VBA - Nguyen Vi CAO

5

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

2ème modèle Excel avec utilisation des macros
„

Il est possible d'enregistrer la séquence des opérations
effectuées avec le clavier et la souris dans une macro

„

L'exécution de la macro déclenche automatique la
séquence des opérations enregistrées

„

C'est un moyen rapide pour automatiser les tâches
répétitive

„

Cette automatisation ne demande pas de connaissance en
programmation

Slide No : 11

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Exercice: le modèle Epargne1
„

Ouvrir le modèle Epargne0

„

L’enregistrer sous le nom Epargne1

„

Enregistre une macro nommée Epagne permettant de
‹

sélectionner les cellules contenant le capital initial, le taux
d'intérêt et la conversion en devise

‹

Effacer le contenu des ces cellules

„

Affecter cette macro à un bonton

„

Tester le fonctionnement de la macro avec le bouton

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 12

6

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

2ème modèle Excel avec utilisation des macros
Si l'onglet Développeur n'est pas disponible
„

Cliquez sur le Bouton Microsoft Office
Options Excel.

, puis sur

„

Dans la catégorie Standard, sous Meilleures options pour
travailler avec Excel, cochez la case Afficher l'onglet
Développeur dans le ruban, puis cliquez sur OK

Slide No : 13

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

2ème modèle Excel avec utilisation des macros
Pour enregistrer une macro
„

Menu Développeur

„

Cliquer sur Enregistrer une macro

„

Donner le nom Epargne à la macro

„

Faire la séquence d’opérations

„

Cliquer sur arrêter l’enregistrement

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 14

7

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

2ème modèle Excel avec utilisation des macros
Pour affecter une macro à un bouton
„

Menu Insertion, Option Forme

„

Dessiner le bouton, un rectangle par exemple

„

Donner nom Epargne à votre bouton

„

Cliquer sur le bouton droite de la souris

„

Sélectionner affecter une macro

„

Sélectionner la macro Epargne

Nguyen Vi CAO

Slide No : 15

Département Économie
d’entreprise

Editeur Visual Basic

HEG - Cours Programmation VBA - Nguyen Vi CAO

8

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Pratique
Ouvrir la macro Epargne dans l’éditeur VB
„

Ouvrir le modèle Epargne1

„

Sous le menu Développer, cliquer sur Visual Basic

„

Dans la fenêtre Explorateur de projet cliquer sur Module 1

„

Ouvrir la macro Epargne

„

Dans la fenêtre Code, observer le programme VBA généré
lors de l’enregistrement de la macro

Slide No : 17

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Editeur Visual Basic
„

VB editor est un environnement pour facilite l’écriture des
programmes VB

Fenêtre
Explorateur
de projets

Fenêtre Code

Fenêtre Propriété
Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 18

9

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Remarque sur la structure de la macro
„

La macro commence par Sub et se termine par End Sub

Sub nom [(ListeArguments)]
[instructions]
End Sub

„

Cette structure de base est appelée une procédure

„

Elle permet de créer un module qui regroupe des instructions
permettant d’effectuer une tâche particulière

„

Une procédure peut être appelée à partir d’autres procédures
par invocation de son nom et éventuellement des paramètres
=> programmation modulaire
Slide No : 19

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Remarque sur la structure de la macro
Il est important de
„

Commenter le programme
„ Commenter = insérer les lignes d’explications précédées par un
apostrophe
„ Les commentaires facilitent la compréhension et la maintenance du
programme

„

Indenter les instructions
„

Indenter = aligner les instructions de même niveaux en utilisant la
barre d’espace ou la tabulation

„

L’indentation améliore la lisibilité du programme donc sa
compréhension

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 20

10

Haute École de Gestion

05/10/2007

Département Économie
d’entreprise

VBA et le langage Orienté Objets
Concepts de base

Cours
Programmation
VBA

Département Économie
d’entreprise

VB et VBA
„

„

VB (Visual Basic)
¾

Est un langage Orienté Objet de Microsoft

¾

Il ne dépend pas d’applications hôtes

VBA (Visual Basic for Application)
¾

a la même syntaxe que VB

¾

Dépend d’une application hôte (Excel, Word, Access, etc.)

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 22

11

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Langage Orienté Objets
„

Un objet
‹

Est quelque chose qui a une existence, des propriétés
propres, des actions qui règlent son comportement
Š Exemple une voiture, une feuille Excel

„

Une collection
‹

Ensemble d’objets de mêmes natures
Š Exemple les voitures, les feuilles Excel

„

Une classe
‹

Définition commune d’un ensemble d’objet
Š Exemple caractéristiques communes des voitures, des feuilles Excel

Slide No : 23

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Langage Orienté Objets
Un objet a
„

Des propriétés
Š Exemple: la couleur de la voiture, le nom de la feuille Excel

„

Des méthodes
‹

Qui sont des actions qui règlent le comportement de l’objet
Š Exemple: démarrer la voiture, copier une feuille Excel

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 24

12

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Langage Orienté Objets
Quelques mots clés
„

Instanciation
‹

„

Créer un objet particulier à partir d’une classe

Héritage
‹

Les objets d’une même classe ont des mêmes propriétés

Slide No : 25

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Exemples d’objets Excel
„

„

„

Objet Workbook (représente un classeur)
‹

Propriétés: Fullname, FileFormat

‹

Méthodes: Close, Save

Objet Worksheet (représente une feuille de calcul)
‹

Propriétés: Visible, EnableCalculation

‹

Méthodes: Copy, Delete

Objet RANGE

(représente une cellule, une ligne, une colonne ou une

sélection de cellules)
‹

Propriétés: Value, Formula

‹

Méthodes: Select, ClearContents

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 26

13

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Utiliser les propriétés et méthodes d’un objet
„

„

Syntaxe pour modifier la propriété d’un objet
‹

Objet.propriété = nouvelle valeur

‹

Range(«A3»).Value = 4 affecte la valeur 4 à la cellule A3

Syntaxe pour interroger la la propriété d’un objet
‹

Variable = Objet.Propriété

‹

ValeurA3 = Range(«A3»).Value affecte à la variable ValeurA3
la valeur de la cellule A3

„

Syntaxe pour appliquer une méthode à un objet
‹

Objet.méthode

‹

Range(«A3»).ClearContents efface le contenu de la cellule A3

Nguyen Vi CAO

Slide No : 27

Département Économie
d’entreprise

La sélection

HEG - Cours Programmation VBA - Nguyen Vi CAO

14

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

La sélection
L’objet RANGE représente une cellule, une ligne, une
colonne ou une sélection de cellules
Exemples:
„

Pour sélectionner la plage A3:A6
Range(«A3:A6»).Select

„

Pour sélectionner une plage de cellules contigües
contenant des valeur à partir de la cellule A3
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select

Nguyen Vi CAO

Slide No : 29

Département Économie
d’entreprise

Les variables

HEG - Cours Programmation VBA - Nguyen Vi CAO

15

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Types de variables
„

VBA permet de définir plusieurs types de variable

„

Chaque variable correspond à un domaine spécifique

Integer

Entier (intervalle restreint)

Long

Entier (intervalle étendu)

Single

Réel (intervalle restreint)

Double

Réel (intervalle étendu)

String

Chaîne de caractères

Boolean

Logique


Slide No : 31

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Déclaration de variables
Syntaxe Dim NomVariable As Type
‹

Exemples

Š Dim TxIntérêt AS Single
Š Dim NbPeriode AS Integer

„

La déclaration de variable est conseillée

„

Mais elle n’est pas obligatoire

„

Une variable non déclarée peut être affectée à des
valeurs de n’importe quel type

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 32

16

Haute École de Gestion

05/10/2007

Département Économie
d’entreprise

Les interactions

Cours
Programmation
VBA

Département Économie
d’entreprise

Les interactions
„

L’instruction Msgbox(arguments) affiche une
fenêtre avec un texte à l’écran
‹

Ex: Msgbox(« Merci !») affiche une fenêtre avec le
texte « Merci ! » à l’écran

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 34

17

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Les interactions
„

L’instruction Inputbox(arguments) affiche une fenêtre
permettant aux utilisateurs de saisir une donnée
‹

Inputbox(« Entrez le taux intérêt ») affiche une fenêtre
avec le texte « Entrez le taux intérêt » et permet à
l’utilisateur de saisir une valeur

‹

TxInt = Inputbox(« Entrez le taux intérêt ») affecte la
valeur saisie par l’utilisateur à la variable TxInt

Slide No : 35

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Exercice: modèles Epargne2
„

Ouvrir le modèle Epargne1

„

Enregistrer sous le nom Epargne2

„

En utilisant l’instruction InputBox, modifier la procédure
Epargne pour permettre à l’utilisateur de saisir

„

‹

Le capital initial

‹

Le taux d’intérêt

‹

La conversion

Renvoyer les valeurs saisies par l’utilisateur dans les cellules de
la feuille où doivent se trouver ces valeurs

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 36

18

Haute École de Gestion

05/10/2007

Département Économie
d’entreprise

Les fonctions

Cours
Programmation
VBA

Département Économie
d’entreprise

Les fonctions
„

Permet de retourner une valeur calculée à partir des
arguments

Function Nom [(ListeArguments)] [As type]
[instructions]
[nom = expression]
[instructions]
End Function

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 38

19

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Exercice: modèle Epargne3
„

Ouvrir le modèle Epargne2

„

L’enregistrer sous le nom Epargne3

„

Ecrire une fonction nommée Epargner permettant de
calculer le capital final à partir du capital initial, le taux
d'intérêt et le nombre de périodes
CapitalFinal = CapitalInitial * (1+TauxIntérêt)^NbPériode

„

Renvoyer le capital final obtenu avec cette fonction dans
la feuille à l’endroit où il doit se trouver (en remplaçant
la formule)

Nguyen Vi CAO

Slide No : 39

Département Économie
d’entreprise

Les instructions de base

HEG - Cours Programmation VBA - Nguyen Vi CAO

20

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Les conditions
If condition Then
[instructions]
[Else
[instructions]]
End If

Slide No : 41

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Exercice: modèle Epargne4
„

Ouvrir le modèle Epargne3

„

L’enregistrer sous le nom Epargne4

„

Modifier la procédure Epargne comme suit
‹

Calculer la conversion en monnaie étrangère en
utilisant l’instruction IF

‹

Si

‹

Renvoyer le résultat obtenu dans la feuille à l’endroit
où il doit se trouver en remplaçant la formule

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 42

21

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Les boucles
While condition
[instructions]
Wend

Slide No : 43

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Les boucles
For compteur = début To fin [Step incrément]
[instructions]
Next [compteur]

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 44

22

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Les boucles
Do [{While | Until} condition]
[instructions]
Loop

La syntaxe suivante est également valable:

Do
[instructions]
Loop [{While | Until} condition]

Slide No : 45

Nguyen Vi CAO

Cours
Programmation
VBA

Département Économie
d’entreprise

Mettre une formule dans une cellule
„

Instruction FORMULA permet d’écrire une formule dans
une cellule ou ensemble de cellules
‹

Ex. Range(« A3 »).FORMULA = («=A1-A2») met la formule
A1-A2 dans la cellule A3

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 46

23

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Exercice: Modèle Epargne5
„

Ouvrir le modèle Epargne4

„

L’enregistrer sous le nom Epargne5

„

Modifier la procédure Epargne pour
‹

Effacer les périodes et les capitaux constitué (les détails)

‹

Permettre aux utilisateurs de saisir un nombre de périodes

‹

Calculer le capital final et le capital de chaque période
(détails)

‹

Ecrire une formule dans une cellule de la feuille pour
calculer le gain (capital final – capital initial)

Nguyen Vi CAO

Slide No : 47

Département Économie
d’entreprise

Interface utilisateur

HEG - Cours Programmation VBA - Nguyen Vi CAO

24

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

Userform
„

Concevoir l’interface

„

Dessiner l’interface

„

Coder l’interface

Nguyen Vi CAO

Slide No : 49

Département Économie
d’entreprise

Conclusion

HEG - Cours Programmation VBA - Nguyen Vi CAO

25

Haute École de Gestion

05/10/2007

Cours
Programmation
VBA

Département Économie
d’entreprise

VBA vs formules
„

Modèle avec formules est plus direct et plus simple
¾

„

„

VBA est plus sûr
¾

Le code permet d’écrire les résultats et les formules dans les cellules

¾

Il est moins accessible aux utilisateurs

VBA permet de faire des modèles interactifs
‹

„

Mais une formule peut être effacée par erreur

Ce qui est difficile à faire avec des formules

VBA permet de faire des boucles
‹

Ce qui est difficile à faire avec des formules, voire l’enregistrement
des macros

Nguyen Vi CAO

HEG - Cours Programmation VBA - Nguyen Vi CAO

Slide No : 51

26



Télécharger le fichier (PDF)










Documents similaires


vba2005macros excell
cv m jc
cv a m jc
programme excel vba duree 2jrs mermitte
o1um9q0
cours excel

Sur le même sujet..