Programmation des applications financières sous Excel en VBA Cours Assia Hachic
Programmation des applications financières sous Excel en VBA Cours Assia Hachichi avec la participation de Badr Benmammar Référence bibliographique Fabrice Riva, «Applications financières sous Excel en Visual Basic», collection techniques de gestion. Partie I Syntaxe du VBA Introduction à l’informatique L’informatique désigne l’automatisation des traitements répétitifs et souvent long. Exemple : Quels sont les nombres parfaits parmi les 10000 premiers nombres entiers positifs ? Un nombre est parfait s’il est égal à la somme de ses diviseurs (6 et 28 sont des nombres parfaits, 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 + 14). Impossible de résoudre ce problème sans machine. Domaines d'application de l’informatique (1/2) Plusieurs domaines : Le domaine de la téléphonie, des communications et des médias : l’informatique communicante. Le codage numérique permet la transmission du texte, de la voix, du son, des images fixes ou vidéo et leur traitement par ordinateur. Le domaine industriel : l’informatique industrielle. Les ordinateurs peuvent être utilisés pour contrôler un (ou des) robot(s), une chaîne de fabrication, une usine entière. Un seul ordinateur contrôle, un ou plusieurs équipements, ou plusieurs ordinateurs communiquent, par un réseau informatique, pour contrôler ensemble, l'ensemble des équipements industriels. Domaines d'application de l’informatique (2/2) Le domaine scientifique et l’ingénierie : l’informatique scientifique. L’informatique a d’abord permis de réaliser plus vite et plus précisément les calculs nécessaires à la conception de systèmes en tous genres. La puissance de calcul des ordinateurs permet actuellement la "simulation" de ces systèmes. L’informatique au service des chercheurs et des scientifiques dans le domaine de la recherche fondamentale, par exemple. Le domaine banque/finance/comptabilité : l’informatique de gestion. La gestion de l’entreprise (gestion des stocks, des paies, des banques de données). L’informatique dans la science financière L’informatique dans la science financière Appliquer des traitements statistiques et économétrique à des données financières. Faire appel à des procédures numériques pour le traitement des données. Omniprésence de l’informatique dans la science financière Programmation sous VBA (Visual Basic for Application) Visual Basic for Application Visual Basic pour Applications (VBA) est le langage de programmation des applications de Microsoft Office. VBA utilise le même langage que Microsoft Visual Basic. VBA permet : d’automatiser les tâches, de créer des applications complètes, de sécuriser vos saisies et vos documents, de créer de nouveaux menus et de nouvelles fonctions. La différence entre VB et VBA est que VB est un ensemble complet qui permet de développer des applications indépendantes et librement distribuables alors qu’une application réalisée en VBA est complètement liée au logiciel sous lequel elle a été créée. Une application VBA créée sous Excel ne pourra pas se lancer sur un poste si Excel n’est pas installé. Structure de l’ordinateur Unité d’entrée Unité de sortie CPU Mémoire (instructions et données) Structure de programme Sub <nomProgramme>() End Sub Déclaration de variables Instructions Sub equation() Dim x, fx as integer x = InputBox("donner la valeur de x") fx = x + 2 MsgBox(fx) End sub Déclaration de variables Variable : Case mémoire. Définie par son identificateur (nom). Définie par son type (catégorie). Types des variables Integer : nombres entiers. Double : nombres décimaux. String : Chaîne de caractères. Boolean : prend la valeur Vrai et faux. Object : désigne un objet (Exemple: cellule d’Excel). Variant : peut prendre une valeur de n’importe quel type. Syntaxe : Dim <nom_var> As <type> Instructions Instruction d’affectation. Instruction d’entrée. Instruction de sortie. Instruction conditionnelle. Instruction de répétition (boucles). Instructions d’affectation Instruction d’affectation : définie avec "=". le "=" de l’informatique est différent du "=" mathématique. Il s’agit d’une affectation du contenu d’une case mémoire dans une autre. Exemple : Dim x,y as integer x = 2 y = x + 5 y = y + 1 x y Instruction 1 2 x y Instruction 2 2 x 7 y Instruction 3 2 x 8 y Instruction 4 Instruction sortie d'information Besoin d’afficher un message à l’écran Syntaxe : MsgBox(y) Assure la recopie de la valeur de la variable y de la mémoire centrale à l'écran. Affiche l’information au sein d'une fenêtre (boîte de message). Exemple : MsgBox("Bonjour") Instruction entrée d'information Besoin d’afficher un message à l’utilisateur pour entrer une valeur à partir du clavier. Syntaxe : x = InputBox("<message>"). La valeur tapée est transmise par InputBox au sein de la case-mémoire désignée par x. Exemple : Dim x as integer x = InputBox("donne la valeur de x") x Instruction 1 2 x Calcul de fonction f(x) Soit l’équation mathématique : f(x) = x + 2 Sub equation() Dim x, fx as integer x = InputBox("donner la valeur de x") fx = x + 2 MsgBox(fx) End sub Exercice Rédiger un programme qui lors de son exécution permet à l’utilisateur de donner son prénom et son nom, et qui affiche ensuite le prénom et le nom de l’utilisateur sur une seule ligne, puis sur 2 lignes. Sub prenom_nom() Dim prenom, nom As String prenom = InputBox ("donnez votre prénom") nom = InputBox ("donnez votre nom") MsgBox (prenom & " " & nom) MsgBox (prenom & Chr(10) & nom) End Sub Expressions arithmétiques Toute expression s’écrit en informatique sous forme : opérande 1 opérateur opérande 2 Exemples: c = b² s’écrit : c = (b * b) c = 2 * a s’écrit : c = (2 * a) / 3 3 c = 2x + 3y + z² s’écrit : c = (2 * x) + ( 3 * y ) + (z * z) Incrémentation z = z + 1 Instruction conditionnelle Syntaxe : If <condition> Then I1 I2 … (autant d'instructions que nécessaire) Else J1 J2 … (autant d'instructions que nécessaire) End If <condition> est une condition logique, qui peut avoir soit la valeur vrai ou faux Cas particulier : la partie "Else J1 J2 …" peut être omise si elle n'est pas nécessaire. Instruction conditionnelle If <condition1> Then I1 I2 … (autant d'instructions que nécessaire) Else . . If <condition2> Then … (autant d'instructions que nécessaire) Else … (autant d'instructions que nécessaire) End If End If Résoudre une équation Soit l’équation mathématique : ax² + bx + c = 0 (a≠0 et b≠0) La solution mathématique : Calcul de Delta := b² - 4ac. Si delta 0 alors il existe des solutions sinon il n’existe pas. Résoudre une équation Solution informatique : Dim a,b,c,x1,x2,delta as double a = InputBox("donner la valeur de a") b = InputBox("donner la valeur de b") c = InputBox("donner la valeur de c") delta = (b*b) – (4 * a * c) Besoin d’exprimer un traitement selon la valeur de delta Instruction conditionnelle Résoudre une équation Sub equation2degre() Dim a,b,c,x1,x2,delta as double a = InputBox("donner la valeur de a") b = InputBox("donner la valeur de b") c = InputBox("donner la valeur de c") delta = (b * b) – (4 * a * c) if (delta < 0 ) then MsgBox("il n’existe pas de solutions") Else x1 = ((b * (-1)) + sqr(delta))/(2*a) x2 = ((b * (-1)) - sqr(delta))/(2*a) MsgBox("les solutions sont : ") MsgBox(x1) MsgBox(x2) End if End sub Instruction de répétition (boucles) Soit une classe de 3 étudiants. Saisir les 3 notes et Calculer la moyenne de la classe. Sub moyenne() Dim x, somme as double x = inputBox("Entrer la première note :") somme = x x = inputBox("Entrer la deuxième note :") somme = somme + x x = inputBox("Entrer la troisième note :") somme = somme + x MsgBox("la moyenne est : " & somme/3) End sub Refaire le même programme pour 20 étudiants Besoin d’une instruction de répétition (boucles) Boucle For Syntaxe : For i = n1 To n2 I1 I2 … (autant d'instructions à répéter que nécessaire) Next i est une variable de type Integer. n1 et n2 : deux valeurs entières. I1, I2,… : des instructions. Saisie des notes des étudiants Sub moyenne() Dim x, somme as double Dim i as integer somme = 0 For i = 0 to 19 x = inputBox("Entrer la note :" ) somme = somme + x next MsgBox("la moyenne est : " & somme/20) End sub Boucle While et Do Syntaxe de la boucle while : While <condition> I1 I2 (…) Wend Syntaxe de la boucle Do Do I1 I2 (…) Loop Until <condition> Méthodes utiles Concaténation de chaînes de caractères : & Dim t1, t2, t3 as string t1="Bonjour" t2="Comment vas-tu?" t3= t1 & t2 Reste de la division entière : Mod 17 Mod 3 (donne 2) Tirage au hasard : Rnd() x = Rnd() => x ]0,1[ x = Rnd()*100 => 0<x<100 x = Int(Rnd()*100) => tous les entiers tel que : 0<=x<100 x = Int(1+Rnd()*6) => x {1,2,3,4,5,6} Exemple : Lancement de 2 dés Soit les valeurs x et y, résultats du lancer de 2 dés. Tester si x et y sont égaux. Sub Dés() Dim x, y As Integer x = Int(1 + Rnd() * 6) MsgBox (" x = " & x) y = uploads/Industriel/ programmation-des-applications-financieres-sous-excel-en-vba.pdf
Documents similaires










-
45
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 03, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.3052MB