Macro a depoussierer

  • Initiateur de la discussion Initiateur de la discussion roni
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

roni

Guest
Bonjour a tous

Merci de m aider a regler ce petit problem:
Voici une macro qui active des ordres d une platforme de trading. Je souhaiterais savoir comment puis je la debugger car celle ci n execute que la ligne 12 uniquement et non les lignes de J2 a J12

ps: je pense que les deux fonctions "SI" sont mal liees.


Private Sub CommandButton1_Click()
Dim XPos As Variant
Dim YPos As Variant
Dim result As Variant
Dim dOrder As Object
Dim I As Integer

Set dOrder = CreateObject("REDI.ORDER")

XPos = 10
YPos = 10

For J = 2 To 12
If Worksheets("OrdDlg").Cells(J, 5) = "SIGMA" Then
dOrder.Symbol = UCase(Worksheets("OrdDlg").Cells(J, 1).Value)
dOrder.Quantity = Worksheets("OrdDlg").Cells(J, 2).Value
dOrder.Side = Worksheets("OrdDlg").Cells(J, 3).Value
dOrder.Price = Worksheets("OrdDlg").Cells(J, 4).Value
dOrder.Exchange = Worksheets("OrdDlg").Cells(J, 5).Value
dOrder.Account = Worksheets("OrdDlg").Cells(J, 6).Value
dOrder.UserID = Worksheets("OrdDlg").Cells(J, 7).Value
dOrder.PriceType = "Smart Limit"
dOrder.TIF = "Day"
dOrder.StopPrice = 0
dOrder.Memo = "none"
dOrder.Password = Worksheets("OrdDlg").Cells(J, 8).Value
dOrder.DisplayQuantity = Worksheets("OrdDlg").Cells(J, 9).Value
result = dOrder.DisplayOrderDlg(XPos, YPos)
End If
Next
For J = 2 To 12
If Worksheets("OrdDlg").Cells(J, 5) = "INCA" Then
dOrder.Symbol = UCase(Worksheets("OrdDlg").Cells(J, 1).Value)
dOrder.Quantity = Worksheets("OrdDlg").Cells(J, 2).Value
dOrder.Side = Worksheets("OrdDlg").Cells(J, 3).Value
dOrder.Price = Worksheets("OrdDlg").Cells(J, 4).Value
dOrder.Exchange = Worksheets("OrdDlg").Cells(J, 5).Value
dOrder.Account = Worksheets("OrdDlg").Cells(J, 6).Value
dOrder.UserID = Worksheets("OrdDlg").Cells(J, 7).Value
dOrder.PriceType = "Limit"
dOrder.TIF = "COR"
dOrder.StopPrice = 0
dOrder.Memo = "none"
dOrder.Password = Worksheets("OrdDlg").Cells(J, 8).Value
dOrder.DisplayQuantity = Worksheets("OrdDlg").Cells(J, 9).Value
result = dOrder.DisplayOrderDlg(XPos, YPos)
End If
Next


End Sub

Merci beaucoup

Roni
 
Re

J'ai l'impression qu'en fait ta boucle se fait bien de 2 à 12 mais que tu écrases tes résultats au fur et à mesure et donc que tu ne récupères que le dernier résultat.

Mais bon je ne suis pas trop ton code avec ton objet.

Bonne soirée

Pascal
 
Bonjour Roni, Pascal,
Si tu veux vraiment voir si tu passe dans les diverses lignes, tu peux placer le code suivant qui positionnera le curseur sur chaque ligne...:

Worksheets("OrdDlg").Cells(J, 5).Select

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

R
Réponses
5
Affichages
995
Pascal76
P
R
Réponses
0
Affichages
876
R
Retour