Veuillez à bien commenter vos macros en décrivant l’effet des différentes lignes de votre code lorsque
celui-ci est exécuté. Le fichier Excel est composé d’une feuille sur laquelle se trouve les valeurs,
depuis le début de l’année 2020, de plusieurs actions du CAC40.
1. Créez une Macro insérant une nouvelle feuille sur laquelle vous copierez les dates et les
différentes actions répertoriées dans la feuille « Raw Data ». Ces données doivent être collées
dans la feuille récemment créée, pour les dates sur la colonne 1 à partir de la cellule A2 et pour
le nom des actions sur la ligne 1 à partir de la cellule B1.
2. Créez une fonction permettant le calcul des rendements journaliers des actions (c’est-à-dire,
hors première date, un rendement pour toutes les dates disponibles). La formule à utiliser
correspond à VF/VI-1. Calculez les rendements journaliers sur l’historique de ces actions. Les
résultats doivent être retranscrits sur la feuille créée dans l’exercice 1. Afin d’éviter que votre
formule renvoie vers une valeur fausse (par exemple si le dénominateur VI est égal à 0) vous
devrez mettre une condition dans votre formule. Cette dernière renverra un « 0 » en cas de
dénominateur nul.
3. Sélectionnez 3 actions au hasard. Puis, sur une nouvelle feuille, procédez au calcul des
rendements journaliers sur les 3 actions sélectionnées à l’aide d’une boucle « For » ou « Do ».
(Colonne 1 : les dates, ligne 1 le nom des actions sélectionnées). Votre table de rendement
devrait occuper les 4 premières colonnes du fichier ([1] Date [2] Rendement de l’action 1, [3]
rendement de l’action 2, [4] rendement de l’action 3). (Point bonus si vous faites 2 macros
séparées, une avec une boucle For et une avec une boucle Do)
4. A l’aide des fonctionnalités « For » et « If » créez une macro qui renverra à droite des colonnes
relatives aux rendements calculés dans la question 3., un texte « positif », « négatif » ou
« neutre » selon le signe du rendement.
5. Observez-vous une période particulière sur 2020 ?
6. Créez une macro qui calculera trois écarts types des 3 actions sélectionnées au hasard (vous
devrez utiliser la fonction worksheet.function…) sur (i) les 30 derniers jours ; (ii) les 90 derniers
jours et sur (iii) la totalité de l’historique disponible. Affichez les résultats sur la colonne à
droite de notions « négatif », « positif » ou « neutre » de la question 4.
7. A l’aide d’une boucle double, calculez, sur une nouvelle feuille, les revenus journaliers de
toutes les actions présentes sur la feuille « Raw Data »
8. Rédigez une macro qui renseignera sur la dernière ligne vide de la feuille créée pour la question
7 et pour toutes les actions : l’écart type historique de l’action donnée (c’est-à-dire colonne B
l’écart type de Accor, colonne C celui de Air Liquide etc..).
Support : Un fichier Excel avec des cours de plusieurs actions.
J'ai pu faire la question 1 mais je bloquer sur la question 2.
Bonjour désolé je ne savais pas. J'étais pressé de le rendre car on a un délai, j'ai voulu gagner du temps.
Donc pour la question 2, j'ai fait ce code
Public Function RDM(VF As Double, VI As String) As String
RDM = IIf((VI - 1) > 0, (VF / (VI - 1)), 0)
End Function
Public Function rdm(vf As Double, vi As Double) As Double
If vi <> 0 Then
rdm = vf / (vi - 1)
Else: rdm = 0
End If
End Function
Cela me calcule bien le rendement mais ca m'affiche des tirets et non des 0.
Donc pour la question 2, j'ai fait ce code
Cela me calcule bien le rendement mais ca m'affiche des tirets et non des 0.
peux-tu partager ton fichier?