le visual basic for application -...

27
LE VISUAL BASIC FOR APPLICATION EXPLORATION D’UN LANGAGE DE PROGRAMMATION

Upload: dinhque

Post on 26-Nov-2018

237 views

Category:

Documents


1 download

TRANSCRIPT

LE VISUAL BASIC FOR APPLICATIONEXPLORATION D’UN LANGAGE DE PROGRAMMATION

ORIGINE, HISTORIQUE ET DÉVELOPPEMENT DU VBA (1/2)

Qui a créé ce langage?

Microsoft

Pourquoi? Dans quel contexte?

En réponse à la popularité des macro-commandes qui permettaient

d’automatiser des tâches.

Inspiré du Visual Basic et du langage WordBasic.

En quelle année?

Intégré pour la première fois à Excel en 1993.

ORIGINE, HISTORIQUE ET DÉVELOPPEMENT DU VBA (2/2)

Qu’est-ce qu’une macro?

Une série d’instructions préenregistrées par l’utilisateur et qui peut être

exécuté lorsqu’il le souhaite.

Comment accéder à l’onglet « Développeur » ?

Fichier → Option

Particularités du VBA : Le code se génère en arrière-plan et ne se trouve pas

dans un fichier indépendant.

Il s’agit d’un langage propriétaire, restreint par le

logiciel auquel il est intégré.

DÉFINITION ET UTILITÉ (1/3)

Langage côté client

Le VBA est relativement simple, logique et facile à apprendre.

Langage de programmation très humain.

Que peut faire VBA et quel sont les objectifs principaux ?

Conception d’applications simples, rapides et efficaces.

Automatisation d’opérations.

Possibilité de verrouiller le code.

DÉFINITION ET UTILITÉ (2/3)

Réputation du VBA auprès des programmeurs

Le VBA est dénigré

Non transposable et restreint par l’application hôte.

Trop accessible aux non-informaticiens.

Cette compétence est-elle valorisée sur le marché de l’emploi?

Le VBA est valorisé

Considéré comme un atout puisque cela démontre une bonne connaissance d’Excel.

DÉFINITION ET UTILITÉ (3/3)

Qui utilise le

VBA?

Développeurs

amateurs qui

travaillent sur

un projet

spécifique

avec Excel.

POPULARITÉ DU VBA

Domaine de prédilection

La finance

Gestion de budget, création de tableaux de prévisions financières, analyses

financières, production de tableaux de bord, etc.

Exemple

Desjardins – Département de Financement automobile et biens durables

Fichier partagé pour l’analyse de crédits. Cet outil de travail offre de nombreuses

possibilités aux employés.

POSSIBILITÉS

Calculs, liens

personnalisés,

formulaires de refus,

générateurs de

réponses transfert des

demandes de crédit

via Outlook,

compilation de

données et d’erreurs,

ajout de coaching

pour les employés,

etc.

Exemple FABD

Exemple FABD

Exemple FABD

Exemple FABD

Exemple FABD

POPULARITÉ DU VBA (2/2)

Est-ce un langage qui est mis à jour encore régulièrement?

Dernière mise à jour du VBA

Version 6.4 (2003)

Demeure supporté par les versions plus récentes de Microsoft Office

Langage toujours à la mode, mais qui n’est plus mis à jour.

FONCTIONNEMENT

Ce langage manipule-t-il des types particuliers d’objets?

Programmation orientée objet

Modèle rappelant des poupées russes.

Manipulation d’objets via

Propriétés (ex : couleur d’un texte)

Méthodes (ex : sélectionner une cellule)

Évènements (ex : activation de la macro par un clic de souris)

SYNTAXE DU VBA (1/5)

Premiers pas

Ouvrir un fichier Excel, démarrer un projet et utiliser Visual Basic

Modèle rappelant des poupées russes.

Associer la macro à un déclencheur

Quel type de syntaxe utilise VBA?

Semblable aux balises HTML

Débute par Sub nom_de_la_macro ()

Termine par End Sub

Exemple

Sub MaSelection()

Range("Ma_Plage").Select

End Sub

User Forms

Module

SYNTAXE DU VBA

(2/5)

Villes("Montréal").Maisons("Ma_Maison").Salle_de_bains("Bain").Frotter_le_dos

Le VBA et les autres langages

Orienté objet

(comme Java et C++)

Structure proche du JavaScript

Construction d’une commande :

nom_de_la_classe("nom de l'instance de cette classe")

SYNTAXE DU VBA (3/5)

Plusieurs instances = séparées par une virgule

Établir une plage de cellules = utiliser le deux-

points ( : )

Définir une plage de cellules

Sub MaSelection()

Range("Ma_Plage").Select

End Sub

SYNTAXE DU VBA

(4/5)

Les propriétés

chiffre

chaîne de caractères

réponse booléenne

constante

Sub texte()

With Selection.Font

.Size = 14

.Name = "Arial"

.Underline = xlUnderlineStyleSingle

.Bold = true

End With

End Sub

SYNTAXE DU VBA (5/5)

Les variables

La variable doit :

commencer par une lettre.

contenir que des lettres, des chiffres ou le caractère de soulignement

(underscore).

Elle ne doit pas :

inclure d’espaces

avoir plus de 40 caractères.

être identique à un mot réservé dans le langage VBA (par exemple Sub).

Javascript VBA

Fonction

Fonctions définies par

l’utilisateurFunction(arg1, arg2 ...) {

Function funcname (arg1 de type,

arg2 de type...)

ou

Sub subname()

Terminer une fonction }End Function

End Sub

Appel de fonction Nom (arg1, arg2) variable=funcname( arg1..)

Concaténation chaîne + chaîne chaîne & chaîne

if | else if

{} obligatoire après un if non non

Syntaxe if if (expr) If ... End If

Syntaxe else if else if ElseIf

Référence aux variables variable variable

Test d’égalité = = =

Commentaires

Sur une ligne // commentaireREM commentaire ou '

commentaire

Sur plusieurs lignes/* commentaire sur

plusieurs lignes */" commentaire "

Comparaison des syntaxes JS et VBA

http://pixelloom.com/resources/syntax-table.php

Types de données en VBA

Dim

Permet de dimensionner

la variable en tableau.

Dir

Permet de lire un

répertoire.

Combinaison VBA et JS

Exemple de code – Hello World

Exemple de code – Hello World

Exemple de code – Scrabble

Joueurs Yves Marcoux Dominic Forest Alex Delagrave

Pointage total 120 80 50

Meilleur coup 70 40 25

Pire coup 10 20 10

Moyenne 40 27 17

1 40 20 10

2 10 20 15

3 70 40 25

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Tours

DOCUMENTATION

OpenClassrooms

Boîte à outils

BOÎTE À OUTILS VBA POUR EXCEL (1/2)

Sites web

https://www.excel-pratique.com/fr/vba.php

Leçons gratuites pour devenir autonome dans votre utilisation du VBA.

https://openclassrooms.com/courses/analysez-des-donnees-avec-excel/les-macros-2

Pour bien commencer, familiarisez-vous avec les macros.

https://openclassrooms.com/courses/analysez-des-donnees-avec-excel/premiers-pas-en-vba

Apprenez ce langage de programmation pas à pas.

BOÎTE À OUTILS VBA POUR EXCEL (1/2)

Vidéos en français

https://www.youtube.com/watch?v=Wcyeirq9z8k&list=PLihiMt4R2Q7kEwnLORUs83Ymccy3rB19F

Cette chaîne youtube propose une série de cours permettant de se familiariser avec

ce langage de programmation.

Vidéos en anglais

https://www.pluralsight.com/courses/vba-fundamentals#invite-modal

10 jours de leçons gratuites sous forme de vidéo pour vous initier au VBA.

https://www.youtube.com/watch?v=awEOUaw9q58&list=PL3A6U40JUYCi4njVx59-vaUxYkG0yRO4m

Cette chaîne youtube propose une série de cours permettant de se familiariser avec

ce langage de programmation.

RÉFÉRENCES

https://didier-gonard.developpez.com/tutoriels/office/vba-qu-est-que-c-est/

https://fr.wikipedia.org/wiki/Visual_Basic_for_Applications

https://openclassrooms.com/courses/analysez-des-donnees-avec-excel/les-macros-2

https://openclassrooms.com/courses/analysez-des-donnees-avec-excel/premiers-pas-en-vba

http://pixelloom.com/resources/syntax-table.php

https://www.developpez.com/actu/103562/Pensez-vous-que-VBA-n-est-pas-un-langage-professionnel-Un-

developpeur-s-essaie-a-creer-une-application-de-discussion-de-groupe-avec-Excel-et-VBA/

http://www.i-programmer.info/ebooks/automating-excel/1264-getting-started.html

https://www.microsoft.com/fr-ca/download/details.aspx?id=17049

http://pixelloom.com/resources/syntax-table.php

https://www.supinfo.com/articles/single/809-pourquoi-aprendre-visual-basic