XL 2019 statistiqe par jour

  • Initiateur de la discussion Initiateur de la discussion blackice
  • 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 !

blackice

XLDnaute Nouveau
bonjour j'ai des statistiques de trading
pourriez vous modifier le tableau de résultat
pour avoir des statistiques par jour et creer un tableau du lundi au vendredi de 0 a 24 h
et ne garder que le trade qui est pris le premier dans l'heure
exemple il y a 5 trade pour le AUDUSD de 10h a 11h le lundi
et je veux garder que le premier trade de l'heure
 

Pièces jointes

la journée du 05/07/2020 n'apparait pas sur la feuille 1er trade
Il manque d'autres date dans la solution VBA notamment le 4 mai
En effet pour que la fonction Weekday fonctionne correctement il faut mettre les jours et les mois dans le bon ordre jj/mm :
VB:
Private Sub Worksheet_Activate()
Dim tablo, ncol%, d As Object, i&, x$, dat As Date, y$, n&, j%
With [table_1]
    .Sort .Cells(1), xlAscending, Header:=xlYes  'tri de sécurité
    tablo = .Value
End With
ncol = UBound(tablo, 2)
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(tablo)
    x = tablo(i, 1)
    If x <> "" Then
        dat = CDate(Mid(x, 4, 3) & Left(x, 3) & Mid(x, 7)) 'jour/mois dans le bon ordre jj/mm
        x = Left(x, 13) & tablo(i, 5) 'les minutes sont exclues
        If Weekday(dat, 2) < 6 And Not d.exists(x) Then 'du lundi au vendredi
            d(x) = ""
            n = n + 1
            For j = 1 To ncol
                tablo(n, j) = tablo(i, j)
            Next j
        End If
    End If
Next i
'---restitution---
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [A2] '1ère cellule de destination
    If n Then .Resize(n, ncol) = tablo
    .Offset(n).Resize(Rows.Count - n - .Row + 1, ncol).ClearContents 'RAZ en dessous
    .Resize(, ncol).EntireColumn.AutoFit 'ajustement largeurs
End With
'---tableaux de droite---
With Feuil1 'CodeName
    Intersect(.UsedRange, .Columns(ncol + 1).Resize(, .Columns.Count - ncol)).EntireColumn.Copy Cells(1, ncol + 1)
End With
With UsedRange: End With 'actualise les barres de défilement
End Sub
Fichier (3).
 

Pièces jointes

- 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

Discussions similaires

Retour