le visual basic for application -...
Post on 26-Nov-2018
241 Views
Preview:
TRANSCRIPT
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
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 – 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
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
top related