IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA: besoin d'aide pour macro boursière


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut VBA: besoin d'aide pour macro boursière
    Bonjour,

    Je suis nouveau pour la programmation en VBA ( et sur ce forum )et je sollicite votre aide concernant la macro boursière suivante. Elle est destinée à repertorier par un message des anomalies( quand prix d'achat proposé sur telle place > prix de vente proposé sur une autre )sur des actions. La worksheet "Tickers" contient les données d'offre et de demande, les noms des actions ainsi que la place boursière. les cotations d'une meme action sur 2 places différentes se suivent( d'ou le TickerRow + 1 ). Apparemment, cette macro ne marche pas, meme après débeuguage, car j'ai vu ces conditions se réaliser et aucun message n'est apparu. Est ce que vous voyez ou peut etre l'erreur?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Option Explicit
    Dim lastId As Long
    Dim offset As Long
    Public runWhen As Double
    Public Const RUN_INTERVAL_SECONDS = 1
    Public Const RUN_WHAT = "Example1.ArbSearch"
    Public Const P_AND_L_TRIGGER_VALUE = 50
     
    Sub ArbSearch()
        Dim symbol As String
        Dim SecType As String
        Dim Exchange As String
        Dim BidPrice As String
        Dim AskPrice As String
        Dim BidPrice2 As String
        Dim AskPrice2 As String
        Dim logSuccess As Boolean
        Dim TickerRow As Integer
        Dim LastTickerRow As Integer
     
        LastTickerRow = ExampleUtil.getLastDataRow("Tickers", 8, 1)
     
        For TickerRow = 8 To LastTickerRow
            symbol = UCase(Worksheets("Tickers").Cells(TickerRow, 1).value)
            SecType = UCase(Worksheets("Tickers").Cells(TickerRow, 2).value)
            Exchange = UCase(Worksheets("Tickers").Cells(TickerRow, 7).value)
            BidPrice = CStr(Worksheets("Tickers").Cells(TickerRow, 15).value)
            AskPrice = CStr(Worksheets("Tickers").Cells(TickerRow, 16).value)
            BidPrice2 = CStr(Worksheets("Tickers").Cells(TickerRow + 1, 15).value)
            AskPrice2 = CStr(Worksheets("Tickers").Cells(TickerRow + 1, 16).value)
     
            If symbol = UCase(Worksheets("Tickers").Cells(TickerRow + 1, 1).value) And Exchange <> UCase(Worksheets("Tickers").Cells(TickerRow + 1, 7).value) Then
                    If AskPrice < BidPrice2 Or AskPrice2 < BidPrice Then logSuccess = logMessage([automateTrade], " Arb for :" & symbol & BidPrice & AskPrice & BidPrice2 & AskPrice2)
                    End If
     
        Next TickerRow
     
        startTimer ' schedule next run
    End Sub
     
    Sub startTimer()
        runWhen = Now + TimeSerial(0, 0, RUN_INTERVAL_SECONDS)
        Worksheets("Auto Orders").Range("X3").value = Format(runWhen, "yyyy-mm-dd hh:mm")
        Application.OnTime earliesttime:=runWhen, procedure:=RUN_WHAT, schedule:=True
    End Sub
     
    Sub stopTimer()
       On Error Resume Next
       Application.OnTime earliesttime:=runWhen, procedure:=RUN_WHAT, schedule:=False
       Worksheets("Auto Orders").Range("X3").value = "Stopped"
    End Sub
    Je vous remercie.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    bonjour

    a quoi correspond
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LastTickerRow = ExampleUtil.getLastDataRow("Tickers", 8, 1)
    mets un msgbox pour voir si cette variable est initiée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    LastTickerRow = ExampleUtil.getLastDataRow("Tickers", 8, 1)
    msgbox  LastTickerRow

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Oui en effet, cette fonction s'arrètait à 9 au lieu de 87 et la boucle ne se faisait pas correctement( elle commencait au Row 12 ).

    Par contre j'ai un nouveau problème maintenant: J'ai un type mismatch pour:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    logSuccess = logMessage([automateTrade], " Arb for :" & symbol & BidPrice & AskPrice & BidPrice2 & AskPrice2)
    Merci de votre aide.

Discussions similaires

  1. [XL-2010] besoin d'aide pour macros excel
    Par math31130 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/08/2011, 17h44
  2. [XL-2007] Besoin d'aide pour macro sur un réseau
    Par scoubi77 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 20/10/2010, 19h58
  3. besoin d'aide pour macro test de cellule et copie selon cas
    Par tibofo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/11/2008, 00h15
  4. besoin d'aide pour macros ou VBA
    Par jmsor dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/02/2007, 18h41
  5. [VBA-E][débutant]aide pour macro sous excel
    Par julyBL dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 09/06/2006, 22h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo