Programmation en VBA



Documents pareils
Algorithmique et programmation : les bases (VBA) Corrigé

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Cours Informatique Master STEP

Visual Basic for Applications


Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Introduction à MATLAB R

Cours d algorithmique pour la classe de 2nde

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Formation VBA 3 Interagir

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Programmer en JAVA. par Tama

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

FORMATION au VBA Pour EXCEL. Version 2007 & +

Organigramme / Algorigramme Dossier élève 1 SI

Présentation du PL/SQL

Préparation à l examen EFA en Macro

Comment créer et utiliser une fonction

Java Licence Professionnelle CISII,

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES

Initiation à la programmation en Python

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Programmation C++ (débutant)/instructions for, while et do...while

Enseignement secondaire technique

ACTIVITÉ DE PROGRAMMATION

TP 1. Prise en main du langage Python

1. Structure d'un programme FORTRAN 95

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Présentation du langage et premières fonctions

Utilisation d objets : String et ArrayList

Chapitre 2 Devine mon nombre!

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Algorithmique avec Algobox

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Bernard HAMM, Évelyne LAVOISIER

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Application 1- VBA : Test de comportements d'investissements

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Corrigé des TD 1 à 5

PROGRAMMATION EVENEMENTIELLE sur EXCEL

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Programmation VBA. Excel Daniel-Jean David. et Groupe Eyrolles, 2014, ISBN :

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Examen Médian - 1 heure 30

1 TD 2 : Construction d'une chier Acrobat et envoi par

Formations 2015 Bureautique

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Introduction au langage C

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Algorithmique et Programmation, IMA

Excel 2007 Niveau 3 Page 1

Conventions d écriture et outils de mise au point

Recherche dans un tableau

STAGE IREM 0- Premiers pas en Python

Listes de validation dans OpenOffice Calc

Plan du cours. Historique du langage Nouveautés de Java 7

TD3 - Facturation avec archivage automatisé

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Formation Excel, Niveau initiation, module 1 DUREE DE LA FORMATION OBJECTIFS DE LA FORMATION

Utilitaires méconnus de StrataFrame

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : Licence Chimie, parcours Physique. Semestre S3

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Initiation à VBA pour Excel. Philippe Bernard Ingénierie Economique et Financière Université Paris-Dauphine

Cours d Informatique

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java


Algorithmique et structures de données I

Débuter avec Excel. Excel

OCL - Object Constraint Language

LES DECIMALES DE π BERNARD EGGER

Programmation Web. Madalina Croitoru IUT Montpellier

Algorithme. Table des matières

Programmation Objet - Cours II

Compilation (INF 564)

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Rapport de Mini-Projet en ArcGIS Engine

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Excel et les bases de données

Créer le schéma relationnel d une base de données ACCESS

Visual Basic.NET Interaction avec Excel

Le cas «BOURSE» annexe

Cours 1 : La compilation

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

MEGA ITSM Accelerator. Guide de Démarrage

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

INF 321 : mémento de la syntaxe de Java

Programmation avec Microsoft Visual Basic. NET. Réponses aux questions Solutions des exercices

Transcription:

Programmation en VBA

Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface avant l exécution 2

Introduction Apprendre à programmer Apprendre un langage de programmation écrire un algorithme avant d écrire le programme correspondant 3

Introduction Définitions : Un algorithme est la description de la suite des opérations élémentaires ordonnées capables de résoudre le problème posé. Un programme est la traduction d un algorithme en un langage compréhensible par l ordinateur. 4

Exemple Un commerçant veut calculer les montants de ses factures. Comment décrire de manière la plus élémentaire possible, la suite d instructions à exécuter pour résoudre le problème. 5

Exemple Question 1 : Quelles sont les variables que nous devrons manipuler? Les prix des produits; les quantités des produits; les montants des différentes lignes; le total des montants. 6

Exemple Question 2 : Comment manipuler ces variables pour résoudre le problème? Les montants sont calculés en multipliant les prix unitaires par les quantités. Le total hors taxe est calculé en effectuant la somme des montants. 7

Notion de variable En programmation, une variable est un nom qui sert à repérer un emplacement donné de la mémoire centrale. Les variables permettent de manipuler les valeurs sans avoir à se préoccuper de l emplacement qu elles occupent effectivement en mémoire. Choix des noms des variables : doit être le plus parlant possible. Exemple : PrixUnitaire, Quantite,Montant, c est mieux que d écrire x,y,z. 8

Programmation

Introduction Un programme VBA s écrit à l intérieur de l instruction Sub NomProgramme() End Sub Les instructions à exécuter devront alors être inclus dans le bloc sub end sub 10

Introduction Dans l éditeur de programmes, on peut saisir le code de plusieurs programmes, chacun dans un bloc sub end sub. Si on veut exécuter un des programmes, on place le curseur à l intérieur du bloc et on clique sur exécuter. 11

Variables et constantes Une variable = {identificateur, type, valeur} Identificateur : nom par lequel la variable est manipulée dans le programme Type : type des valeurs possibles que la variable peut contenir Valeur : valeur stockée dans la variable 12

Identificateur d une variable Elle doit commencer par un caractère alphabétique et ne pas comporter les caractères suivants :. %,+ - *! # @ $ Elle ne peut pas excéder 255 caractères. Pour faciliter la lisibilité des programmes, on s'efforcera d'utiliser des minuscules pour les variables utilisées par le programme. 13

Déclaration des variables Par défaut, il n'est pas nécessaire de déclarer les variables utilisées. On peut donc utiliser n'importe quelle variable sans se préoccuper de sa déclaration préalable Les variables sont alors de type Variant pas d optimisation déclarer explicitement les variables Syntaxe Dim identificateur As Type 14

Les types de données VBA autorise la création de la plupart des types de données classiques : Integer : entier court ; Long : entier long ; Single : réel simple ; Double : réel en double précision ; Currency : nombre monétaire ; Date : date et heure; String : chaîne de caractères ; Boolean : booléen (True ou False) ; Object : référence quelconque à un objet ; Variant : type particulier pouvant être n'importe quel autre type. Outre ces types élémentaires, il est également possible de créer des tableaux et des types personnalisés (voir plus loin). 15

Conversion de types Il est parfois nécessaire d'opérer des conversions de types. VBA permet d'effectuer ces opérations grâce à une série d'instructions, dont voici quelques exemples : CInt : conversion en type de données entier ; CStr : conversion en type de données string ; CBdl : conversion en type de données double ; CDate : conversion en type de données date ; CVar : conversion en type de données variant. 16

Structures de contrôle

Structures conditionnelles If Then Else ElseIf permet d'écrire une structure conditionnelle syntaxe : If <condition> then <instructions> Else <instructions> End If Dans le cas où il est nécessaire d'imbriquer plusieurs structures conditionnelles, on peut utiliser l'instruction ElseIf : If <condition> Then <instructions> ElseIf <condition> <instructions> End If 18

Structures conditionnelles (2) Select case Permet d'écrire une structure conditionnelle dans laquelle une expression doit être comparée à plusieurs valeurs. La syntaxe est la suivante : Select Case <variable> Case valeur1: <instructions> Case valeur2: <instructions>... Case Else: <instructions> End Select Lorsque la variable est égale à une valeur répertoriée, les instructions correspondantes sont exécutées, et l'instruction Select Case se termine. La ligne Case Else permet d'inclure toutes les occurrences de la variable non répertoriées auparavant. Elle est facultative. 19

Boucles While Wend permet de réaliser une boucle conditionnelle. La syntaxe est la suivante : While <condition> Wend <instructions> La condition est évaluée au début du traitement. Si elle est vraie, les instructions sont exécutées. Ensuite la condition est réévaluée, et ainsi de suite. 20

Boucles (2) Do Until Loop similaire à Do While Loop. Cependant, les instructions contenues dans le corps de l'instruction sont d'abord exécutées, à la suite de quoi la condition est évaluée. La syntaxe est donc la suivante : Do <instructions> Loop Until <condition> 21

Boucles (3) For Step Next utilisée pour répéter une action selon un nombre d'itérations déterminé. La syntaxe est la suivante : For <variable> = valeur1 To valeur2 Step <pas> Next <variable> <instructions> Step sert à indiquer le pas d'itération. Cette précision est toutefois facultative : par défaut, la valeur du pas utilisé est 1. 22

Boucles (4) For Each In Next est une variante de l'instruction For Step Next. permet de réaliser une itération en parcourant tous les objets contenus dans une collection. La syntaxe est la suivante : For Each <objet> In <collection> Next <object> <instructions> 23

Boucles (5) Exemple : Le code suivant permet de renommer toutes les feuilles de calcul du classeur actif : Dim i As Integer Dim feuille As WorkSheet... i = 0 For Each feuille In ActiveWorkbook.Sheets i = i + 1 'Cstr (i) permet de convertir l'entier i en une chaîne de caractères feuille.name = "Compte rendu Client n " + CStr(i) Next feuille Remarque : la ligne de commentaire introduite par une apostrophe. 24

Arrêt du programme Exit permet de sortir de la séquence en cours. Exemple : pour terminer prématurément une procédure, on écrira : Sub essai()... If <condition> Then Exit Sub End If... End Sub De même, les commandes Exit Do et Exit Next permettent de quitter une structure conditionnelle et une boucle For Next. 25

Interaction entre VBA et EXCEL Première solution : La feuille est un objet. Constituée de plusieurs cellules. Feuil1.Cells(i,j) désigne la cellule de coordonnées (i,j) dans la feuille de nom Feuil1. Tous les objets Excel (classeur, feuilles, fonctions, ) correspondent à des objets (au sens programmation du terme) et peuvent être manipulés dans VBA (à voir dans le chapitre suivant). 26

Exemple Création d une facture suivez le guide 27