THE CALLAN PERIODIC TABLE OF INVESTMENT RETURNS



Documents pareils
TD3 - Facturation avec archivage automatisé

Le cas «BOURSE» annexe

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

Comment créer et utiliser une fonction

Formations 2015 Bureautique

Le cas «BOURSE» annexe

Excel. Identification. Informations sur vos besoins et objectifs. Notions fondamentales. Fiche de validation des besoins en formation Bureautique

SRAL Saint Raphaël. Maison des associations 213, rue de la Soleillette Saint Raphaël. : : dromain.jean-pierre@neuf.

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

GUIDE Excel (version débutante) Version 2013

Se Perfectionner à Excel

La Clé informatique. Formation Excel XP Aide-mémoire

Cours pratique Excel. Dans chacune des feuilles, les donnés sont déjà entrées afin de gagner du temps.

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Préparation à l examen EFA en Macro

UTILISATIONS D'EXCEL POUR LES SCIENTIFIQUES.

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

PRÉSENTÉ PAR : NOVEMBRE 2007

Excel 2007 Niveau 3 Page 1

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Initiation à Excel. Frédéric Gava (MCF)

TABLEAU CROISE DYNAMIQUE

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

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

TABLEAU CROISE DYNAMIQUE

manuellement. Le prototype ayant obtenu des résultats satisfaisants aux différents essais de labour est validé sur le plan suivant :

NOS FORMATIONS EN BUREAUTIQUE

Travail de projet sur VBA

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

SOMMAIRE. 1. Préambule Le calendrier Trajectoire d un objet lancé Régression linéaire...9

Cours Excel : les bases (bases, texte)

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

PROGRAMMATION EVENEMENTIELLE sur EXCEL

CATALOGUE DES FORMATIONS

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

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

Access. Apprenez exactement ce dont vous avez besoin Progressez à votre rythme Téléchargez les exercices. Joyce Cox et Joan Lambert

Visual Basic for Applications

Traitement des données avec Microsoft EXCEL 2010

Rapport de Mini-Projet en ArcGIS Engine

EXCEL et base de données

Utilisation d Excel : gestion de compte bancaire TABLE DES MATIERES

F0RMAT I0N BUREAUTIQUE

Parcours FOAD Formation EXCEL 2010

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure

EXCEL TUTORIEL 2012/2013

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

FORMATION au VBA Pour EXCEL. Version 2007 & +

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Visual Basic.NET Interaction avec Excel

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

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Débuter avec Excel. Excel

Utiliser un tableau de données

Formation tableur niveau 1 (Excel 2013)

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

FORMATION EXCEL 2010 Groupe LUCAS LOGICIA

CYCLE SUPE RIEUR 1ère Année

INITIATION A EXCEL Année

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

COURS DE MS EXCEL 2010

EXCEL PERFECTIONNEMENT CALCULS AVANCES

Université Ibn Zohr Excel Résume de cours

8. Gestionnaire de budgets

Note de cours. Introduction à Excel 2007

Seniors/Niveau 2. Connaissances préalables requises. Pour accéder au niveau 2, il faut être capable de:

Migration du pack office Planification, préparation, déploiement et formation

Listes de validation dans OpenOffice Calc

Mon aide mémoire traitement de texte (Microsoft Word)

MIGRATION DE THUNDERBIRD VERS OUTLOOK mardi 16 octobre 2012

F o r m a t i o n. M a i s o n d e l a. Catalogue des formations. E s p a c e P u b l i c N u m é r i q u e. domaine numérique

Programme d Accès Communautaire / Atelier 4 Initiation à Microsoft Excel PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4

COURS HOMOLOGUE ECDL/PCIE EXCEL 2013

5. Excel 2010, le tableur collaboratif. a. Concevez des tableaux lisibles

Comment consolider des données

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

Algorithmique et programmation : les bases (VBA) Corrigé

Les tableaux croisés dynamiques

Utilisation de l éditeur.

Alain DI MAGGIO Mise à jour sur le site 11/01/10

Module 5 : Lier des classeurs

byms CONSEIL EN RESSOURCES HUMAINES & STRATEGIE

Exploitation des données issues de BE ( utilisation du tableur CALC) Fiche de travail (individuelle ou en binôme)

Microsoft Excel. Tableur

Troisième projet Scribus

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Utilisation de l outil lié à MBKSTR 9

Guide de démarrage rapide. (pour la version 5.0.)

Perfectionnement Excel 2007

Microsoft Excel : tables de données

Avant-propos. Conventions typographiques

ISBN : Micro Application 20-22, rue des Petits-Hôtels Paris. 1 ère Édition - Septembre Premium CONSULTANTS

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002

Centre de formation: Collège IBN BASSAM - TEMARA. Ce cours est proposé par le professeur d informatique:

Module 16 : Les fonctions de recherche et de référence

Transcription:

THE CALLAN PERIODIC TABLE OF INVESTMENT RETURNS ANNUAL RETURNS FOR SHARES (2000 2007) 1 Mallika Gillieron

Sommaire 1. Introduction... 2 1.1 Définition de Visual Basic... 2... 1.2 Objectif du projet... 2 2. Marche à suivre... 3 2.1 Création des données... 3 2.2 Découverte de Visual Basic... 4 2.3 Démarches...4 3. Macro... 4 5 3.1 Création d une macro...4-5 4. Projet VBA...6-10 4.1 Classement par ordre décroissant... 6 4.2 Coloration de l arrière plan d une cellule...7-8 4.3 Application de la macro pour tout le tableau...9-10 5. Conclusion... 10 1. Introduction 1.1. Définition de Visual Basic Visual Basic est un environnement de programmation de Microsoft dans lequel un programmeur emploie une interface utilisateur graphique pour choisir et modifier les sections présélectionnées du code écrites dans le langage de programmation de basic. Visual Basic Editor est destiné à automatiser des tâches dans des applications bureautiques telles qu Excel, Access ou Word. En fait, Visual Basic permet de créer des programmes manuellement qui sont visuels à l écran. Ces programmes sont associés à des codes spécifiques du langage Visual Basic, c est-à-dire une suite de commandes et de fonctions stockées dans un module de Visual Basic. Sources : http://www.labo-microsoft.com/def/12901/ http://www.dicodunet.com/annuaire/def-1265-visual-basic.htm http://translate.google.com/translate?hl=fr&sl=en&u=http://searchvb.techtarget.com/sdefinition/0,, sid8_gci213309,00.html&sa=x&oi=translate&resnum=6&ct=result&prev=/search%3fq%3dvb% 2Bd%25C3%25A9finition%26hl%3Dfr http://www.cathyastuce.com/excel/macros.php 1.2. Objectif du projet Dans le cadre de notre formation «Finance and Risk Management», nous avons comme projet d élaborer une macro sur le programme Excel à l aide de Visual Basic Editor. Notre but est d établir nous-mêmes un tableau «Callan Asset Periodic», c est-à-dire mettre en place un tableau avec des actions faisant parties du SMI (indice suisse) triées dans l ordre décroissant par rapport à leurs performances d une année à l autre et coloriées les cellules par type d actions. 2 Mallika Gillieron

2. Marche à suivre 2.1. Création des données Pour commencer, nous avons posé les données. Nous avons choisi six indices faisant parti du SMI (indice suisse) : Novartis,,, Crédit, Abb et. Nous avons commencé dès l année 2000 car c est à partir de cette date que toutes les actions sont en bourse. Pour le premier rendement (année 2000), nous avons calculé la performance de l action par rapport à son année de base, c est-à-dire si l action a fait ses débuts en bourse en 1998, son premier résultat sera celui de base pour le premier calcul. Puis, pour les années suivantes, nous nous sommes basées sur le résultat de l année précédente. Les performances sont en pourcentage. Le calcul est : (rendement t rendement 0) Rendement 0 1996 1997 1998 2000 2001 2002 2003 2004 2005 2006 2007 Novartis 1528 2255 2860 57.15 53.8 57.55 57.75 69.5 72.5 1316 2800 3600 351 306 317 325 399.75 434.5 2150 411 278 83.2 71.4 85.7 97.2 128.9 75.6 Crédit 120.5 300 322 72.45 32.45 45.65 49.3 69.75 86.2 1656 184 169.5 18.3 4.42 6.27 6.62 13.35 21.4 1220 1032 95.25 56 81.15 57.7 63.6 83.95 Il n y a pas de données pour l année 1999 car aucune action que nous avons choisie n est entrée en bourse cette année. 2000 2001 2002 200 2004 2005 2006 2007 26.83 % -98 % -5.86 % 6.97 % 0.35 % 20.35 % 4.32 % Novartis Novartis Novartis Novartis Novartis Novartis Novartis 147.58 % Novartis 212.77 % 19.12 % 248.96 % 28.57 % -32.36 % 7.33 % -90.25 % -70.07 % -77.5 % -12.82 % -14.18 % -55.21 % 3.59 % 20.03 % 40.68 % 2.52 % 13.42 % 8 % 23 % 32.61 % 41.48 % 8.69 % -41.35 % 23.58 % 11.11 % -7.88 % -89.2 % -75.85 % 41.86 % 5.58 % 101.66 % 60.3 % 100 % -15.41 % -90.77 % -41.21 % 44.91 % -28.9 % 10.23 % 32 % 3 Mallika Gillieron

2.2. Découverte de Visual Basic Comme première approche pour découvrir Visual Basic, nous nous sommes aidées du livre «Applications financières sous Excel en Visual Basic» de Fabrice RIVA, 2 ème édition. Nous avons débuté en faisant des essais en rapport aux exemples donnés par le livre. L option «aide» sur Excel nous a également dirigées pour faire une première approche de Visual Basic. Nous nous sommes également beaucoup aidées, des différents sites Internet sur Visual Basic. Nous avons trouvé de nombreuses aides sur les forums d Excel. 2.3. Démarches Notre macro concerne premièrement le classement par ordre décroissant des cellules, la coloration de l arrière plan des cellules selon le nom de ces dernières. Par exemple de colorier toutes les cellules concernant les actions Novartis en rouge. 3. Macros 3.1. Création d une macro Outils / Macro / Nouvelle macro Dans la zone «Nom de la macro», il faut nommer la macro en fonction de son utilité. Par exemple, si la macro sert à trier dans l ordre croissant des cellules automatiquement, on nommera la macro «Trier». Par contre, on ne peut pas mettre d espace dans le nom. Dans la liste déroulante «Enregistrer la macro», il faut afficher «Classeur personnel» ce qui permet de mettre la macro à disposition de tous les fichiers du disque dur. Concernant l option «Description», il faut bien indiquer la fonction de la macro et faire une description complète de celle-ci. Puis ok. 4 Mallika Gillieron

Exemple : Une barre d outils doit apparaître Pour enregistrer une macro, cliquer sur «Référence relative» A partir de maintenant, Excel va enregistrer toutes les actions et les transformer en langage Visual Basic. Pour arrêter l enregistrement, il faut sélectionner le carré («arrêter l enregistrement») La macro a été crée. Cet exemple démontre comment classer des cellules par ordre décroissant. Toutes les actions effectuées dans Excel, par exemple trier les cellules, sont directement traduites en langage Visual Basic. Source : http://www.cathyastuce.com/excel/macros.php 5 Mallika Gillieron

4. Projet VBA 4.1 Classement par ordre décroissant Nous avons débuté notre macro par le classement par ordre décroissant car cette fonction concerne toute la colonne. Puis par la suite, notre macro se concentre sur les cellules par la coloration de ces dernières. Nous avons utilisé l enregistreur de macro pour nous permettre d écrie ce code. Toutefois, nous avons du couper la cellule en plusieurs cellules distinctes, afin de séparer les chiffres, les espaces, le signe des pourcentages ainsi que les noms. Sélection de la colonne Copier / Coller sur une plage vide à l extérieur du tableau Données / Convertir / Délimité / Espace / Terminé Une fois chaque caractère séparé dans des colonnes différentes, nous avons volontairement placé les chiffres en premier lors de la saisie afin de simplifier le triage, nous avons trié les données par ordre décroissant. Puis, nous avons utilisé la formule «concaténer», dans le but de remettre toutes ces données dans la même cellule à l intérieur de notre tableau dans l ordre voulu. Nous avons placé en première position dans notre formule le nom de la cellule, un espace (qui doit être entre deux guillemets pour permettre l identification par Excel), la suite du nom si besoin (par exemple, crédit suisse), un espace, les chiffres, un espace, et le signe du pourcentage (%). =CONCATENER(M5;" ";N5;" ";K5;" ";L5) Puis nous avons copié cette nouvelle colonne, que nous avons collée à l aide d un collage spécial par valeurs dans la colonne correspondante à l intérieur du tableau. 6 Mallika Gillieron

4. 2 Coloration de l arrière-plan d une cellule Pour la coloration de l arrière plan d une cellule, nous avons utilisés la fonction If Then Else. La fonction If Then Else est une fonction de condition. On inscrit If = la condition, si la condition est vraie, les rapports suivants sont exécutés grâce au Then, si la condition est fausse, on exécute un rapport avec Else. Table des couleurs Afin de connaître les nombres correspondant aux couleurs, nous nous sommes aidés de ce tableau. Ci-dessous, la macro correspondant à la coloration des cellules de notre tableau Excel. Il n y avait pas encore de chiffres ni de pourcentage. 7 Mallika Gillieron

Puis, nous nous sommes rendues compte que lorsque nous ajoutions des chiffres (négatifs ainsi que positifs), des espaces ainsi que des pourcentages (%), notre code ne fonctionnait pas. Nous avons donc séparé l intérieur de notre cellule en plusieurs cellules distinctes, afin que la macro fasse une reconnaissance uniquement sur la cellule contenant le texte qui permet l identification ainsi que la coloration de la cellule. Cependant, nous avons du trouver une autre formule afin de colorier la cellule qui se situait à l intérieur de notre tableau et non la cellule correspondant à la cellule qui nous permettait l identification des différents noms. Lors de la séparation des termes situés dans la cellule, nous avons utilisé la plage (K5 : N10). La colonne sur laquelle nous avons effectués la fonction If Then Else est la K, car les noms des différentes actions se situent dans cette colonne. Une fois l identification des termes effectués, nous avons utilisé la fonction en gras ci-dessous pour que la macro colorie la colonne B située à l intérieur du tableau. If ActiveCell.Text = "Novartis" Then ActiveCell.Offset(0, -9).Range("A1").Select With Selection.Interior.ColorIndex = 3.Pattern = xlsolid End With ActiveCell.Offset(0, 9).Range("A1").Select ElseIf ActiveCell.Text = "" Then ActiveCell.Offset(0, -9).Range("A1").Select With Selection.Interior.ColorIndex = 4.Pattern = xlsolid End With ActiveCell.Offset(0, 9).Range("A1").Select Else End If Cette formule permet d effectuer l action demandée 9 colonnes avant la colonne permettant l identification du nom (cette colonne se situe à l intérieur du tableau). Donc si la cellule est égale à Novartis, il faut colorier la cellule en bleu dans le tableau Le If permet à la macro de reconnaître le texte demandé (Novartis,, ) et d y applique une condition, dans notre cas la coloration de la cellule. Source : http://www.admexcel.com/trucmacro.htm http://www.admexcel.com/trucmacro.htm http://gershwin.ens.fr/vdaniel/doc-locale//langages-program-scientific/fortran/manuel- F77/node49.html http://www.csidata.com/custserv/onlinehelp/vbsdocs/vbs587.htm 8 Mallika Gillieron

4. 3 Application de la macro pour tout le tableau Notre macro commence et se termine par la fonction suivante : Application.ScreenUpdating = false (ou true) Cette fonction permet à Excel d effectuer la macro plus vite et que cette dernière ne soit pas visible. Source : http://www.admexcel.com/trucmacro.htm Afin que notre macro s exécute pour chaque cellule de chaque colonne de notre tableau, nous avons du utiliser la fonction For Each. Cette dernière sert à appliquer des instructions, qu on appelle une boucle, à tout un groupe de cellule. Pour simplifier cette fonction, il est préférable de nommer les cellules concernées dans la feuille Excel. Une fois la boucle terminée, si nous voulons relancer une autre boucle, il faut inscrire Next avant la nouvelle instruction. L instruction Exit For sert à sortir d une boucle à tout moment et passe à la prochaine instruction située en général après le Next. Nous avons appliqué cette fonction pour la coloration des cellules de chaque colonne. Nous avons nommé la plage «K» («K5 :K10») car lors de la décomposition de la cellule, les noms, qui se trouve en première position, se situent dans cette plage. La macro effectue la reconnaissance des noms à partir de cette plage et va colorier directement la cellule correspondante dans le tableau. Source : http://www.info-3000.com/vbvba/foreach.php Nous n avons pas pus utilisé la fonction For Each pour que la macro s applique a toutes les colonnes de notre tableau, car nous copions à plusieurs reprises la colonne que nous désirons manipulée à un intervalle de 9 colonnes. De ce fait, nous n avons pas trouvé une fonction qui nous permettait de faire évoluer ces chiffres automatiquement. Par exemple, lorsque nous avons fini d exécuter la formule «concaténer», nous demandons à l ordinateur de copier la cellule 8 colonnes plus tôt soit de passer de la colonne J à la colonne B. Puis nous recopions l intérieur de la cellule 9 colonnes plus loin afin de faire la reconnaissance des noms pour la coloration des cellules, soit de la colonne B à la colonne K. pour garder cette même marche à suivre pour la colonne C, nous sommes obligées de réduire l écart afin de conserver les mêmes colonnes où les modifications sont effectuées, soit de la colonne J à la colonne C (ce qui fait un espace de 7 colonnes) et de la colonne C à la colonne K (ce qui fait un écart de 8 colonnes). ActiveCell.Offset(0, -8).Range("A1").Select ( ) ActiveCell.Offset(0, 9).Range("A1").Select 9 Mallika Gillieron

La dernière partie de la macro correspond à la mise en page du tableau. Une fois que la macro est lancée pour la modification de l intérieur des cellules de notre macro, la mise en forme de ce dernier se fait automatiquement. Les titres de chaque colonnes (les années) se colorient en gris, sont centrés et une bordure générale pour tout le tableau se met en forme. Range("B4:I10").Select Selection.Font.Bold = True With Selection.HorizontalAlignment = xlgeneral.orientation = 0.AddIndent = False.IndentLevel = 0.ShrinkToFit = False.ReadingOrder = xlcontext.mergecells = False End With ( ) With Selection.Interior.ColorIndex = 15.Pattern = xlsolid End With Range("B5:I10").Select Selection.Font.Bold = False 5. Conclusion Nous avons trouvé très intéressant de mener à terme un projet tel que celui-ci malgré le fait que nous avons rencontré de nombreux problèmes durant la création de cette macro. Nous avons appris beaucoup sur VBA et sur son langage, que nous comprenons beaucoup mieux et plus facilement qu avant. Nous n avons pas augmenté le nombre d actions dans le tableau, car nous estimons que six actions différentes à l intérieur du tableau démontrent déjà relativement bien le fonctionnement de la macro. Pour que la macro fonctionne, il est important de souligner qu il faut que le tableau soit sous sa forme initiale. De ce fait, nous avons inscrit les données brutes du tableau dans la deuxième feuille du classeur («Données»), car si la macro est exécutée sur les données déjà triées, le classement par ordre décroissant sera biaisé car les chiffres ne se trouveront plus en première position, donc la macro ne pourra également plus faire la reconnaissance à partir des noms pour le coloriage car les noms ne seront également plus à leur bonne place. Pour chaque utilisation de la macro, il est important de remettre les données brutes dans la feuille («The Callan Periodic Table»). La prochaine page contient notre tableau définitif, effectué après la macro. 10 Mallika Gillieron

11 Mallika Gillieron