Bonsoir à tous,
Je débute sur VBA et j'essaye de programmer une macro qui me permette d'extraire certaines données d'un tableau.
Le tableau en question contient pour chaque date le prix de différentes options sur l'indice CAC40.
Chaque option est définie par les variables; Strike, prime, Nombre de jours.
Pour faire simple, ce qui différencie chaque option, c'est la variable Strike(un prix d'exercice) et la variable "Nombre de jour avant échéance".
L'idée est de chercher à suivre le prix d'une option sur plusieurs jours (j'ai commencé avec 3 jours mais peu importe).
Par exemple, si je prends pour date de départ le 07/02/2000, la macro va trouver la ligne contenant l'option cherchée et "extraire" le prix, le strike et le nombre de jours restant.
Pour le 07/01, cela donne Prix = 168 ; Strike = 6300 et Nbre de jours = 22
La macro va, pour les jours suivant, chercher la ligne contenant à fois la date du jour correspondant (08/01,09/01 etc), avec la variable strike ayant pour valeur 6300 et le nombre de jours égal à N-1, (soit 21 pour 08/01, 20 pour 09/01 etc)
J'ai "imbriqué" des boucles for/next if/then et do/until et même si c'est très brouillon, la macro fonctionne. Cependant, si la période sur laquelle je souhaite suivre l'option comporte un jour férié ou un week end (pas de cotation donc pas de valeurs dans le tableau), la macro plante: "erreur définie par l'application ou par l'objet". J'ai tenté d'ajouter diverses conditions afin que la boucle fasse un "saut" lorsqu'elle arrive sur un jour férier ou wee-end, mais rien n'y fait, je tourne en rond.
Je suis désolé si c'est confus, mais auriez-vous s'il vous plaît des suggestions afin de contourner ce problème?
PS: le fichier xlsm faisant plus de 48ko j'ai du le upper : Ce lien n'existe plus
Je débute sur VBA et j'essaye de programmer une macro qui me permette d'extraire certaines données d'un tableau.
Le tableau en question contient pour chaque date le prix de différentes options sur l'indice CAC40.
Chaque option est définie par les variables; Strike, prime, Nombre de jours.
Pour faire simple, ce qui différencie chaque option, c'est la variable Strike(un prix d'exercice) et la variable "Nombre de jour avant échéance".
L'idée est de chercher à suivre le prix d'une option sur plusieurs jours (j'ai commencé avec 3 jours mais peu importe).
Par exemple, si je prends pour date de départ le 07/02/2000, la macro va trouver la ligne contenant l'option cherchée et "extraire" le prix, le strike et le nombre de jours restant.
Pour le 07/01, cela donne Prix = 168 ; Strike = 6300 et Nbre de jours = 22
La macro va, pour les jours suivant, chercher la ligne contenant à fois la date du jour correspondant (08/01,09/01 etc), avec la variable strike ayant pour valeur 6300 et le nombre de jours égal à N-1, (soit 21 pour 08/01, 20 pour 09/01 etc)
J'ai "imbriqué" des boucles for/next if/then et do/until et même si c'est très brouillon, la macro fonctionne. Cependant, si la période sur laquelle je souhaite suivre l'option comporte un jour férié ou un week end (pas de cotation donc pas de valeurs dans le tableau), la macro plante: "erreur définie par l'application ou par l'objet". J'ai tenté d'ajouter diverses conditions afin que la boucle fasse un "saut" lorsqu'elle arrive sur un jour férier ou wee-end, mais rien n'y fait, je tourne en rond.
Je suis désolé si c'est confus, mais auriez-vous s'il vous plaît des suggestions afin de contourner ce problème?
PS: le fichier xlsm faisant plus de 48ko j'ai du le upper : Ce lien n'existe plus
Dernière édition: