Informatique de Gestion part I – Macro begins

Slides:



Advertisements
Présentations similaires
Portée des variables VBA & Excel
Advertisements

Eléments visuels. 2009/2010L3-Eco - Université de Bordeaux2 Les feuilles La feuille : cest le cadre dans lequel tous les autres éléments (visuels) dune.
Visual Basic for Applications
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Excel.
Excel. Utilisation possible d un tableur Tenir ses comptes personnels : salaires, impôts, dépenses et recettes diverses... Tenir les comptes d'une (petite)
TP 8 : parcours de liste et cas pratique
TP 2 : Nos premières macros
VBA / Excel – TP7 La boucle LOOP.
VBA / Excel TP 6 La boucle FOR.
L ’événement CHANGE est détecté par Vba dès qu ’un caractère est saisi ( ou tapé) dans l ’objet TextBox. Par contre l ’événement AFTERUPDATE laisse le.
INITIATION à la PROGRAMMATION STRUCTUREE
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Cours Visual Basic pour Application
Les bases de l’Algorithmique
Principes de programmation (suite)
Par Fabrice Pasquier Cours III
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Cours de programmation
Récursivité.
Plan À faire Retour sur les exercices Gestion d’erreur
Par Fabrice Pasquier Cours IV
Programmation VISUAL BASIC
Initiation à la programmation
CLUB DES UTILISATEURS SAS DE QUÉBEC
Programmation en VBA Introduction au language Visual Basic for Applications dans le monde Excel.
Gestion des systèmes d’information
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Points importants de la semaine Les classes et les objets. Les classes dExcel. Les objets dExcel. Les objets de la classe Range.
Introduction à la programmation (Java)
Master 1 Sciences du Sport et du Mouvement Humain
Séance 4: Plan Test d’auto-évaluation Relâche ou pas? À faire
Le langage ASP Les formulaires avec Request. Les formulaires sont employés pour transmettre des informations saisies par un client à une application Web.
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
Semaine #1 INF130 par Frédérick Henri.
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
I&G- chapitre 11-La logique Logarithmique -Mme Roulaud
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 9 Les sous-programmes.
Initiation aux bases de données et à la programmation événementielle
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Université Ibn Zohr Faculté des Sciences Economiques et Sociales Notes de cours VBA E. Belahmidi 2007/2008.
Tableaux, chaînes VBA et Excel
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
Informatique de gestion – IO MER L3 – Pierre SOURNAC Informatique de Gestion part III – the macro rises L3 – IO MER
La fonction RECHERCHEV
Cours No8 La programmation à l’aide d’objets. Contenu 1. Terminologie objet 2. Classe vs Objet 3. Création d’une classe 4. Déclaration d’une variable.
1 Algorithmique et programmation en Itérations (boucles) Types numériques simples (suite)
Programmation événementielle
Créer des packages.
Les tests.
Macros Visual Basic sur Excel
Tableur 1.Concept : Un tableur permet de manipuler des données, de le présenter, de les trier et d'effectuer automatiquement des calculs sur des nombres.
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
1. Spoon Christophe Delagarde, septembre 1998 I.U.T., Université de la Méditerrainée 2.
Initiation au web dynamique Licence Professionnelle.
Informatique de Gestion part II – the dark macro
Scripts et fonctions Instructions de contrôle
Une proposition de résolution du pb1 AEP PACD VB Pb11.
Une aide pour débutant éclairé
QCM VBA.
Initiation aux bases de données et à la programmation événementielle
Algorithmique Algorithmique  Pascal
Utilisation des formules de base
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Algorithmes sur Open Office. 1. Ouvrir Visual Basic de Open Office.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 1 Support de cours rédigé par Bernard COFFIN Université.
Présentation Excel Microsoft Excel est le tableur de la suite bureautique propriétaire « Office System ». Développé pour les plateformes Windows et Macintosh.
Transcription de la présentation:

Informatique de Gestion part I – Macro begins L3 – IO MER Pierre.sournac@gmail.com

Prise de connaissance du contexte de travail L’objectif principal de ce cours est de consolider et améliorer vos connaissances concernant la production automatisée d’information par le traitement de données. La réalisation d’outils de gestion passera par l’apprentissage du langage de programmation VBA, et la maitrise des concepts avancés des tableurs. Prérequis : maitrise des bases des tableurs concept d’algorithmique

Concepts pour la programmation avancée EXCEL VBA (Visual Basic pour Application) est un langage de programmation permettant d’exécuter les nombreuses fonctionnalités de l’Application EXCEL Une macro (=programme écrit en VBA) permet : D’automatiser des tâches répétitives Créer des boites de dialogue pour rendre l’outil Excel plus « convivial » Une macro peut être créer à partir de l’enregistreur de Macros ++ aucune connaissance du langage VBA nécessaire -- exécution limitée à une plage de cellules, code produit pas toujours efficace Moralité : pour avoir des macros propres, efficaces et interactives, il est nécessaire de programmer en VBA (ou du moins de comprendre le code pour l’adapter).

Application en contexte Outils de planification : Outil de reporting : Formulaire de saisie :

Enregistreur de macro Création d’une macro avec enregistreur : Écrire Hello dans la cellule B3 et World dans la B5 Attention particulière : Choix de la cellule de départ (définie ou active) Par défaut l’enregistrement d’une macro se fait avec les références absolues de la cellule Sub Ecrire_Hello_World() ' ' Ecrire_Hello_World Macro Range("B3").Select ActiveCell.FormulaR1C1 = "Hello" Range("B5").Select ActiveCell.FormulaR1C1 = "World" Range("B8").Select End Sub Sub Ecrire_Hello_World2() ' ' Ecrire_Hello_World Macro Cells(3, 3).Value = "Hello2" Cells(5, 3).Value = "World2" End Sub

L’environnement Visual Basic Editor Explorateur de projet Propriétés Module de code

L’environnement Visual Basic Editor L’explorateur de projet Présentation hiérarchisée des projets ouvert : 1 classeur excel = 1 projet VBA un dossier MICROSOFT EXCEL OBJETS qui contient les éléments du projet Le classeur Les feuilles de calcul le composant le dossier MODULES qui contient les modules de code du projet Exemple : le module MODULE1 qui contient les macros Ecrire_Hello_World Les procédures Une procédure est un enchainement d’instructions ne retournant pas de valeur. L’enregistreur de macro ne génère que des procédures. Syntaxe : Début de déclaration : Sub / fin de déclaration end Sub

L’environnement Visual Basic Editor Les objets VBA est un langage orienté Objet, chaque élément est un objet : Excel est l’objet Application Le classeur est l’objet Workbook Une feuille est l’objet Worksheet Une plage de cellule (ou 1) est l’objet Range L’accès aux objets Il existe différent moyen d’appeler/faire référence aux objets : Workbooks("Classeur1.xls").Worksheets("Feuil1") Application.Workbooks("Classeur1.xls").Worksheets("Feuil1") Range("A1:C5") Mise en application : faire un copier coller vers une autre feuille.

L’environnement Visual Basic Editor Les propriétés des objets Les objets possèdent des caractéristiques, ce sont les propriétés : Syntaxe : Objet.propriété Exemples : Les méthodes des Objets Il s’agit des actions réalisables sur l’objet : Syntaxe : Objet.méthode Mise en application : écrire le résultat de la multiplication des cellules A2 et B2 de la feuille « donnees », dans la cellule A3 de la feuille total, afficher le résultat à l’écran. Cells(3, 3).Value = "Hello2" Range(“A13”).Value = "World2" Cells(5, 3).Font.Bold = True ActiveCell.Font.Bold = True Selection.Copy Range(“A13”).Select Range(“A1:B16”).ClearContents

Interro Surprise Que réalise cette macro ? Celle-ci ? Quelle cellule a une valeur en italique ? Celle-ci ? Modifier la macro pour : Afficher Hello dans la colonne C et E. Afficher Hello dans la colonne A, World dans la colonne F Sub quoi1() Worksheets("Classe").Range("A2").Select ActiveCell.Value = “Hello" Sheets("Classe").Range("A1").Value = ActiveCell.Value Selection.Font.Italic = True End Sub Sub quoi2() Worksheets("Classe").Range("A1").Select ActiveCell.Value = "Hello" Sheets("Classe").Range("A2:B7").Value = ActiveCell.Value Selection.Font.Italic = True End Sub

Exemples Range Les méthodes des Objets Ecrire un numéro dans plusieurs cellules: ActiveSheet.Range("A1:B10").Value = 1 Range("A1","B10") = 1 Ecrire un numéro dans l’intersection entre deux « Range » Range("C1:C10 A6:E6") = 1 Ecrire un numéro dans 5 cellules non contigües Range("A1, A3, A5, A7, A9") = 1 Les méthodes des Objets Ecrit la valeur 7 dans la cellule D3 (ligne 3, colonne 4) ActiveSheet.Cells(3,4) = 7 ActiveCell.Cells(1,1) = 5 Ecrit le 200 dans la cellule A2 (5ième position dans le range de 40 positions) Range("A1:D10").Cells(5) = 200 ActiveSheet.Cells.ClearContents

Exemples Offset Retourne un objet Range, comme pour les propriétés Range et Cells Offset s’applique uniquement à un objet Range object.Offset(decalageligne, decalagecolonne) Deux arguments: correspondent à la position relative à partir de la cellule supérieure de l’objet range spécifié. Les arguments peuvent être positives (vers le bas ou vers la droite), négatifs (vers le haut ou vers la gauche) ou nuls ActiveCell.Offset(1,0).Value=12 ActiveCell.Offset(-1,0).Value=15 L’objet Range est contenu dans un objet WorkSheet, 3 façons de le référencier: Avec la propriété Range de la classe Worksheet ou Range Avec la propriété Cells d’un objet Worksheet Avec la propriété Offset d’un objet Range

Principes de la programmation VBA Syntaxe et saisie Variables Les variables sont des « boites » permettant de stocker des données pour les réutiliser au besoin. Règles de nommage : Toujours une lettre comme premier caractère, ensuite peu importe. VBA ne distingue pas la casse Attention certains noms sont réservés et caractères interdit (Next, $, # …) Sub Soleil() ' Commentaire i=1 Dim i As Integer For i = 1 To 4 If i < 4 Then MsgBox (i) ElseIf i = 4 Then MsgBox ("soleil") End If Next i End Sub Déclaration de la procédure ' Commentaire Déclaration d’une variable Affectation de la variable Structure de boucle for structure conditionnelle Instruction VBA Déclaration de fin de procédure

Les structures For each - Next If - Then Réalisation d’actions sans avoir à connaitre le nombre d’éléments : If - Then Syntaxe For Each élément In groupe [instructions] [Exit For] Next [élément] Sub CompterFeuilles() Dim Item As Worksheet For Each Item In ActiveWorkbook.Worksheets Msg Item.Name Next Item End Sub If condition_1 Then Instructions_1 ElseIf condition_2 Then Instructions_2 ElseIf condition_3 Then Instructions_3 ... Else Instructions_n End If If Condition Then Instructions_si_vrai Else [Instructions_si_faux] End If

Les structures For each - Next If - Then Réalisation d’actions sans avoir à connaitre le nombre d’éléments : If - Then Syntaxe For Each élément In groupe [instructions] [Exit For] Next [élément] Sub CompterFeuilles() Dim Item As Worksheet For Each Item In ActiveWorkbook.Worksheets Msg Item.Name Next Item End Sub If condition_1 Then Instructions_1 ElseIf condition_2 Then Instructions_2 ElseIf condition_3 Then Instructions_3 ... Else Instructions_n End If If Condition Then Instructions_si_vrai Else [Instructions_si_faux] End If

Les structures Do - Loop For - next Réalisation d’actions de façon répétées Variante pour que l’instruction soit exécutée au moins une fois For - next Répétition d’actions X fois. ‘ GO Tant que la condition est vraie, Do While Condition [Instructions] Loop ‘ GO Tant que la condition n'est pas vraie, Do Until Condition [Instructions] Loop ‘ GO Tant que la condition est vraie, Do [Instructions] Loop While Condition ‘ GO Tant que la condition n'est pas vraie, Do [Instructions] Loop Until Condition For compteur = nbdébut To nbfin [Step nbpas] Instructions ‘ exécuter nb fois Next compteur