• Aucun résultat trouvé

Langage VBA démarche de production de code – Cours et formation gratuit

N/A
N/A
Protected

Academic year: 2022

Partager "Langage VBA démarche de production de code – Cours et formation gratuit"

Copied!
13
0
0

Texte intégral

(1)

Langage VBA - Présentation du cours

Intérêt de l'enseignement de VBA : pourquoi VBA ? Pré-Requis

Buts du cours

Première découverte

(2)

Pourquoi enseigner VBA ?

Non pas le meilleur des langages

Non pas le plus utilisé

Langage propriétaire

Utilisation massive de la distribution Microsoft Office

Utilisation massive dans les entreprises

Beaucoup de fonctions pré-définies : intérêt

(3)

Pré-requis du cours

Le cours fournit des notions de base de programmation

Il est nécessaire de connaître un peu Excel : notion de Workbook, Worlksheet, Formules, Réferences etc...

(4)

Buts du cours

Découvrir des principes de base de l'algorithmique.Distinguer ce qui relève de l'algorithmique et ce qui relève de l'implémentation dans un langage

Etre apte à implémenter des algorithmes en VBA

Savoir utiliser VBA, connaître ses possibilités et son contexte : développement d'applications, interfaçage avec le reste d'Office, interfaçage avec différents type de données, interfaçage avec Windows, spécificités du langage etc...

Savoir mobiliser les ressources en ligne pour résoudre un problème particulier

Etre capable de déployer une application de taille moyenne

(5)

Première découverte de VBA

Basic : Beginner's All-purpose symbolic instruction code (63)

Visual Basic for Applications (début des années 90s)

Implémentation Microsoft du langage VB

Langage interprété

Langage procédural tendant vers l'objet

(6)

Langage interprété

Se distingue des langages compilés

Compilation

Exécution

Interprétation <=> Compilation à la volée <=>

exécution ligne à ligne.

Interprété : moins efficace, plus facile à gérer

(7)

Langage Procédural

Approche procédurale : "Dans l'approche procédurale, le programmeur conçoit un algorithme comme solution à son problème, c'est à dire une suite d'opérations sur des variables. Pour toute sous- suite des opérations formant un ensemble cohérent et / ou une suite d'opérations répétitives, il crée une sous-fonction ou une sous-

procédure. Par exemple, pour évaluer un polynôme, il est nécessaire de disposer d'une fonction puissance."

Approche objet : conception d'objets et attribution de comportements

Ex de gestion de Factures

VBA- Excel dispose d'une hiérarchie d'objets MS

Création d'objets VS utilsations d'objets pré-définis

L'utilisateur ne définit pas ses propres objets

(8)

Langage VBA - Démarche (1)

Pour une opération en VBA, il existe de

multiples manières de la réaliser (cf l'accès aux objets par exemple...). Il est souvent difficile de savoir ce qui est le mieux : on ne maîtrise pas l'implémentation

La démarche n'est pas aussi théorique que ce qu'elle serait dans un langage classique : il ne s'agit pas tant de savoir pourquoi on fait les

choses, il s'agit plutôt savoir les faire

Pas de définition d'une bonne manière de faire

(9)

Langage VBA - Démarche (2)

L'une des compensations au fait que le langage n'est pas un véritable langage objet est la

facilité de manipulation : beaucoup des

difficultés qu'on rencontrera dans un autre langage n'apparaissent pas ici

La remarque précédente induit de ne pas prendre VBA comme une référence

d'implémentation

(10)

Interface VBE et macro

ALT-F11

Il est possible de définir des macros et de les réutiliser => production automatique de code.

Exemple :

Cellule courante C4

Sélection de la cellule F6 contenant "777"

Problème ?

=>Ambigüité

Deplacement de 2 lignes et de 3 colonnes ?

(11)

Langage VBA - Démarche (3)

Pourquoi enseigner VBA au delà de la richesse des interfaces d'office

Automatisation des opérations répétitives

Automatiser de manière non ambigüe des actions sur l'interface

Interfaçage entre les diverses applications office

Personalisation de l'interface : il est possible de

rajouter des menus, de personaliser l'utilisation des logiciels

Réalisation de véritables applications au sein de Excel World etc... : user, formulaires, etc...

(12)

Démarche de production de code

Il n'existe aucune méthode pour bien coder, juste des conseils.

Il est extrèmement peu probable que les problèmes que vous rencontrez ou

rencontrerez jamais sont des problèmes que vous êtes le premier à rencontrer => voir les communautés qui existent en ligne.

Reproduire, copier ou produire ?

(13)

COURS ET EXERCICES

PROJETS ET FAQ

PLAN

Algorithmique

Découverte de VBA à travers Excel puis découverte dans les autres applications Office.

Modèle objet est similaire pour les autres applications.

En fonction des avancés des uns et des autres, des sujets connexes apparaîtront dans le cours. Pour certains, ils sont d'un intérêt

pratique averé (SQL, HTML, XML etc...), pour d'autres, ils le sont moins et visent juste à ouvrir des perspectives sur l'informatique.

VBA : Organisation de

l'enseignement

Références

Documents relatifs

Un autre avantage de ce langage de programmation réside dans le fait que la syntaxe de Java est analogue à celle de C++ ce qui le rend économique et professionnel.. Le fait de

Celle-ci est symbolisée dans l'exemple ci-dessus par deux cadres : la variable I et la procédure LIGNE (avec un argument entier) sont déclarées dans REMPLIR, et donc connues dans

Lors de la première génération d’une application ou une bibliothèque de liaison dynamique standard, le compilateur produit un fichier unité compilée .dcu (Windows) ou

Cette liste n’est plus fournie avec les versions suivantes (me la demander en cas de besoin). Il n'est pas possible de donner la correspondance entre tous les objets et

Dans le body, vous encodez les balises comme le Html 4.0 en respectant les règles de syntaxe du XHTML comme détaillé au point

– Description des activités d’un cas d’utilisation ou d’une opération – Diagramme de type : état-action. – Exécution d’activités différentes selon le résultat

[r]

Cette balise indique au robot de recherche que le contenu de CONTENT est la description de votre page Html, contenu qu'il pourra afficher comme résultat d'une recherche