Bonjour a tous!!
dans le fichier ci joins j'aimerais bien tirer les opérations de la veille listées dans l'onglet "Daily Equity" vers l'onglet "All2" (pour pouvoir passer sur le site j'ai séparé les onglets).
Il y a des groupes de ligne (4 par 4, un blanc, un gris, un blanc, un gris ect ect) dans l'onglet All2. (avec le fichier sous les yeux c'est plus clair)
J'aimerais que viennent s'incerrer dans ces groupes de 4 lignes, les opérations de la veille listées dans l'onglet "Daily Equity". (au risque de me répeter )
Viennent sur la même plage de couleur (grises ou blanches) les opérations qui ont en colonne D de l'onglet "Daily equity" le même Name et en colonne G de "Daily Equity" le même sens de transaction et en colonne et le même execution price dans la colonne P.
J'ai fait un exemple of course dans le fichier!
Et la je ne vois pas comment faire ceci en VBA
C'est possible....?
Pour l'instant j'ai une macro ci dessous et qui me donne ce qu'il y a dans le fichier ESSAI.
Bonne journée
Thanks in advance
Ai je été assez clair?
Garrec
dans le fichier ci joins j'aimerais bien tirer les opérations de la veille listées dans l'onglet "Daily Equity" vers l'onglet "All2" (pour pouvoir passer sur le site j'ai séparé les onglets).
Il y a des groupes de ligne (4 par 4, un blanc, un gris, un blanc, un gris ect ect) dans l'onglet All2. (avec le fichier sous les yeux c'est plus clair)
J'aimerais que viennent s'incerrer dans ces groupes de 4 lignes, les opérations de la veille listées dans l'onglet "Daily Equity". (au risque de me répeter )
Viennent sur la même plage de couleur (grises ou blanches) les opérations qui ont en colonne D de l'onglet "Daily equity" le même Name et en colonne G de "Daily Equity" le même sens de transaction et en colonne et le même execution price dans la colonne P.
J'ai fait un exemple of course dans le fichier!
Et la je ne vois pas comment faire ceci en VBA
C'est possible....?
Pour l'instant j'ai une macro ci dessous et qui me donne ce qu'il y a dans le fichier ESSAI.
Code:
Function classement(sel_ou_buy As String)
Application.ScreenUpdating = False
' Ici on va rechercher la 1ere bande libre dans le sheets "All"(grise ou blanche on s'en fou)
Dim ligne As Long, veille As Date, i As Long
For i = 13 To Sheets("All").Range("A" & Rows.Count).Row Step 4
If Sheets("All").Range("A" & i) = "" Then
ligne = i
Exit For
End If
Next
'Maintenant on va trier le sheets("Daily Equity")
'tout dabors on determine la veille
veille = Format(CDate(Date - 1), "mm/dd/yyyy") ' et voila
MsgBox veille
'maintenant on va chercher les lignes avec cette date et qui on "Sell" ou "Buy" en colonne "G"
With Sheets("Daily Equity")
'trie des ligne avec "Sell"
For Each cel In .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
'on va prendre les 10 1ers caractere dans la cel dans la colonne A
datecel = Left(cel.Text, 10)
'si la date =veille et la cellule g de la meme ligne = la variable "sel_ou_buy" qui a été instruite dans la sub classementsellbuy
If datecel = veille And .Range("G" & cel.Row) = sel_ou_buy Then
'si c'est bon on copie la ligne complete
cel.EntireRow.Copy
Sheets("All").Select
'on colle dans le sheets("All") dans la 1ere ligne de la premiere bande libre que l'on a trouver en debut de fonction
Rows(ligne & ":" & ligne).Select
ActiveSheet.Paste
'on ajoute un a la variable ligne pour la suite
ligne = ligne + 1
End If
Next
End With
End Function
Bonne journée
Thanks in advance
Ai je été assez clair?
Garrec
Pièces jointes
Dernière édition: