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 :

Optimisation de 2 fonctions(bid/ask)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 36
    Par défaut Optimisation de 2 fonctions(bid/ask)
    Bonjour a tous , je dispose de 2 fonctions FIndAsk et FindBid qui me donne le bid et le ask d un produit financier
    autrement pour un produit (chaine de caractere): "2m10y 100wc 245/123"
    le bid est le chiffre a gauche du /
    le ask celui situe a droite du /
    J aimerais savoir comment ameliorer mes fonctions pour rendre le chiffre situe exactement a droite ou a gauche du / et dans le cas ou il n y en a pas de rien renvoyer .Exemples ou mes fonctions ne marchent pas
    1) "2m10y 123/" (dans ce cas je ne renvoie que le bid (pas de ask))
    2) "2m10y @147 /145" (la on remarque que je n ai que le ask , pas de bid )
    ps le bid et le ask ne st jamais separe par un espace siils existent.

    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
    Function FindBid(code As String) As Variant
    Dim pos1 As Integer
    If code Like ("*/*") Then
    pos1 = InStr(code, "/")
    FindBid = RightNum(Mid(code, Len(FindDates(code)), pos1 - Len(FindDates(code))))
    Else
    FindBid = ""
    End If
    End Function
     
     
     
    Function FindAsk(code As String) As Variant
     Dim pos As Integer
     If code Like ("*/*") Then
       pos = InStr(code, "/")
     FindAsk = RightNum(Mid(code, pos))
    Else: FindAsk = ""
    End If
     
    End Function
    ma fonction RIghtNum est defini comme tel

    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
    Function RightNum(str As String) As Double
        Dim n As Integer, i As Integer, ch As String, str0 As String, str1 As String, bln As Boolean
        str0 = Replace(str, ",", ".")
        n = Len(str0)
        For i = 1 To n
            ch = Mid(str0, i, 1)
            If IsNumeric(ch) Or ch = "." Then
                str1 = str1 + ch
                bln = True
     
            ElseIf bln = True Then
                Exit For
            End If
        Next i
        RightNum = CDbl(str1)
    End Function

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Demo()
        For Each Code In Array("2m10y 100wc 245/123", "2m10y 123/", "2m10y @147 /145")
            V = Split(Mid(Code, InStrRev(Code, " ") + 1), "/")
     
            MsgBox vbLf & "Code :  " & Code & vbLf & vbLf & "   Bid :  " & V(0) & _
                   vbLf & vbLf & "   Ask :  " & V(1)
        Next
    End Sub
    Aide primaire : curseur sur une instruction puis touche F1 …

Discussions similaires

  1. Optimisation d'une fonction non convexe
    Par Kevin_18 dans le forum Mathématiques
    Réponses: 4
    Dernier message: 06/08/2008, 09h40
  2. Optimisation de la fonction sleep dans un traitement d'image
    Par Traxsilver dans le forum C++Builder
    Réponses: 11
    Dernier message: 13/05/2008, 20h52
  3. Optimisation d'une fonction de découpage en sous-chaine
    Par FabaCoeur dans le forum Général Java
    Réponses: 9
    Dernier message: 05/01/2008, 14h00
  4. Optimisation d'une fonction
    Par BNS dans le forum C++
    Réponses: 7
    Dernier message: 15/12/2007, 22h25
  5. Réponses: 6
    Dernier message: 27/06/2007, 16h44

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