PB macro

Bonjour,

Je suis débutante en VBA, je viens de créer cette macro afin de calculer la contributions des options (Call/Put), j'ai ensuite crée un bouton auquel j'ai affecté la macro. Le pb est que quand je clique sur le bouton il ne se passe rien. Pourriez vous m'aider svp?

Sub MVT()

' Contrib Mouvement

Dim B As String

For i = 2 To F6.Cells(500, 30).End(xlUp).Row

Set dev = F6.Range("P11:P119").Find(F6.Cells(i, 5))

devise = F6.Cells(dev.Row, 19)

If F6.Cells(i, 7) = "B" Then 'achat

F6.Cells(i + 1, 14) = ((F6.Cells(i, 13) - F6.Cells(i, 9)) * F6.Cells(i, 8) * levier) / devise / F6.Cells(1, 17)

Else 'vente

F6.Cells(i, 14) = ((F6.Cells(i, 9) - F6.Cells(i, 13)) * F6.Cells(i, 8) * F6.Cells(i, 11)) / devise / F6.Range("Q13")

End If

Next i

End Sub

Merci d'avance

Salma

Bonjour,

Tu dis que tu as ajouté un bouton ...

Est-ce-que tu sais de quel type est ton bouton ?

Comment as-tu lié ton bouton à ta macro ...???

P.S. Moi je suis Long sur un Butterfly spread ...

Hello James,

J'ai fait un clique droit sur le bouton et j'ai cliqué sur "affecter une macro" .

Ps: Excellente stratégie!! Sur quelle sous-jacent?

Salma

Bonjour,

Pour commencer, déclare toutes tes variables avec des types définis.

Sinon, à quoi correspond "levier" !...

Cdlt.

Re,

Est-ce-que maintenant que ta macro est reliée à ton bouton ... elle s'éxécute ou pas ...???

Hello,

@ James ma macro est relié mais elle ne s'exécute pas.

@ Jean Eric, effectivement je n'avais pas défini le "levier". Je viens de le faire mais la macro ne fonctionne toujours pas.

Merci pour votre aide!

Salma

Bonjour,

Il ne faut surtout pas hésiter à .... joindre ton fichier ...

Car malheureusement, ma boule de cristal est en panne ...

Hello,

Voici le fichier. Merci encore pour ton aide

Salma

4contrib.xlsm (18.00 Ko)

Bonjour,

La cellule Q13 pose souci car on attend une valeur numérique !...

Cdlt.

Bonjour,

Effectivement, je me suis trompé, je voulais mettre la cellule "Q1"

Je vais réessayer, j'espère que ça fonctionnera!

Merci.

Salma

Hello,

Même après avoir rectifié, la macro ne fonctionne toujours pas

Re,

Essaie ceci :

Option Explicit
' Contrib Mouvement
Public Sub MVT()
Dim r As Range, i As Long, devise As Double, x As Double, a As Long
    With F6
        For i = 2 To .Cells(Rows.Count, 2).End(xlUp).Row
            With .Range("P11:P19")
                Set r = .Find(what:=F6.Cells(i, 5).Value, LookIn:=xlValues, lookat:=xlWhole)
            End With
            If Not r Is Nothing Then
                devise = r.Offset(, 3).Value
                a = IIf(.Cells(i, 7).Value = "B", 1, -1)
                    x = ((.Cells(i, 13) - .Cells(i, 9)) * .Cells(i, 8)) * .Cells(i, 10) / devise / .Range("Q1")
                .Cells(i, 14) = a * x
            End If
        Next i
    End With
End Sub

Merci beaucoup Jean-Eric pour ton aide

La macro fonctionne bien merci encore Jean Eric!!

Salma

Rechercher des sujets similaires à "macro"