Bonjour
J'ai un code VBA qui me tire des informations: les achats/ventes de la veille d'un onglet (Daily Equity) à un autre (All) . cf fichier ci joint onglet All pour appréhender ce que me donne le VBA.
Et la sub pour l'appeler
Seulement j'aimerais qu'il copie colle les lignes en valeur dans l'onlet All (pour l'instant ce n'est pas fait en valeur). J'ai mi que j'aimerais obtenir dans l'onglet All2.
De plus il y a des plages de couleurs a respecter pour chaque opérations similaires (cf All2 grise blanche grise blanche ect ect). C'est a dire que si on prend la premiere opération de la veille (dans l'onglet daily equity), pour que la suivante soit copier coller juste en dessous il faut que la colonne D G et P soit identiques à la précedente. Avec le fichier ça parait plus simple
Sinon on change de plage de couleur et on recommence le même systeme
Est ce possible de faire ça en VBA ?
Merci d'avance
J'ai un code VBA qui me tire des informations: les achats/ventes de la veille d'un onglet (Daily Equity) à un autre (All) . cf fichier ci joint onglet All pour appréhender ce que me donne le VBA.
Code:
Function classement(sel_ou_buy As String)
Application.ScreenUpdating = False
' Ici on va rechercher la 1ere bande libre dans le sheets "All"
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
Et la sub pour l'appeler
Code:
Sub classementsellbuy()
classement "Sell"
classement "Buy"
End Sub
Seulement j'aimerais qu'il copie colle les lignes en valeur dans l'onlet All (pour l'instant ce n'est pas fait en valeur). J'ai mi que j'aimerais obtenir dans l'onglet All2.
De plus il y a des plages de couleurs a respecter pour chaque opérations similaires (cf All2 grise blanche grise blanche ect ect). C'est a dire que si on prend la premiere opération de la veille (dans l'onglet daily equity), pour que la suivante soit copier coller juste en dessous il faut que la colonne D G et P soit identiques à la précedente. Avec le fichier ça parait plus simple
Sinon on change de plage de couleur et on recommence le même systeme
Est ce possible de faire ça en VBA ?
Merci d'avance