Nombre d'appel par tranche horaire

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

Matjul

XLDnaute Occasionnel
Bonjour à tous,
Je souhaite superviser la sollicitation d'un central téléphonique.
Ainsi, je détiens une liste d'appel téléphonique au format jj/mm/aaaa hh:mm:ss.
Je souhaiterai ainsi faire apparaitre une courbe sur une période de 24h00 avec en abscisse les heures de 0h00 à 23h00 et en ordonnée le nombre d'appels reçu en moyenne par jour.

Le top serai que je puisse effectuer une courbe pour chaque jour de la semaine.

D'avance, je vous remercie des pistes que vous pourrez me donner pour solutionner mon problème .

Merci
 
Re : Nombre d'appel par tranche horaire

Bonjour à tous.


Une autre proposition en VBA avec un code léger et assez rapide :​
VB:
Sub toto()
Dim i&, j&, n&, d#, f#, hd&, hf&, jd&, jf&
Dim s(287, 6), v()
    With Feuil1.[E2]
        n = .Parent.Cells(.Parent.Rows.Count, .Column).End(xlUp).Row
        v = .Resize(n, 2).Value
    End With
    For i = 1 To n - 1
        d = Round(v(i, 1), 5)
        f = Round(v(i, 2) - 5.85480093676815E-06, 5)
        If 0 < f - d And f - d < 1 Then
            hd = Int(288 * (d - Int(d))): jd = (Int(d) - 2) Mod 7
            hf = Int(288 * (f - Int(f))): jf = (Int(f) - 2) Mod 7
            If jd = jf Then
                For j = hd To hf: s(j, jd) = 1 + s(j, jd): Next
            Else
                For j = hd To 287: s(j, jd) = 1 + s(j, jd): Next
                For j = 0 To hf: s(j, jf) = 1 + s(j, jf): Next
            End If
        End If
    Next
    Feuil1.[I3].Resize(288, 7).Value = s
End Sub
Les éventuels appels à durée négative ou à durée supérieure à un jour sont ignorés.


Bonne journée.



ℝOGER2327
#7162


Lundi 23 Gueules 141 (Occultation de Saint J Torma, euphoriste - fête Suprême Quarte)
29 Pluviôse An CCXXII, 1,2400h - chélidoine
2014-W08-1T02:58:34Z

P.s. : Code modifié le 18/2/14. Voir la pièce jointe du message #25 avec cette version modifiée.
 

Pièces jointes

Dernière édition:
Re : Nombre d'appel par tranche horaire

Bonjour.


Petite modification du code précédent, plus une version prenant en compte les longues conversations de plusieurs mois...​


ℝOGER2327
#7163


Mardi 24 Gueules 141 (Conversion de Saint Matorel, bateleur - fête Suprême Quarte)
30 Pluviôse An CCXXII, 1,0470h - traineau
2014-W08-2T02:30:46Z


P.s. : Remplacement de la pièce jointe. Voir le message #29.
 

Pièces jointes

Dernière édition:
Re : Nombre d'appel par tranche horaire

Bonjour à tous, bonjour, ROGER2327.

Attn : Roger.
J'ai cru comprendre que vous retranchez l'équivalent de 1/2 seconde à l'heure et date de fin avec :
f = Round(v(i, 2) - 5.85480093676815E-06, 5)
Mais je ne pige pas pourquoi vous multipliez par 288 la partie décimale de la date de fin :
hf = Int(288 * (f - Int(f)))
Auriez-vous l'obligence d'éclaire la lanterne du béotien curieux que je suis ?
 
Re : Nombre d'appel par tranche horaire

Bonjour et Merci beaucoup ROGER2327,
Tout fonctionne Nickel Chrome!!

J'ai une petite question subsidiaire, est il possible d'obtenir le même résultat en faisant cette fois ci référence à une table access comprenant 2 champs : Début et Fin.

Enfin pour chaque tranche horaire et jour quelle est la formule pour avoir le nombre moyen et médian?

Merci beaucoup pour votre aide si précieuse!!!
 
Re : Nombre d'appel par tranche horaire

Re...


Bonsour®

il y a 288 tranches de 5 minutes par jour !!!
24*(60/5)
🙄
Merci, Modeste geedee.

Quant à la question sur l'arrondi, je crois qu'il serait plus juste d'écrire :​
VB:
        d = Round(v(i, 1) + 5.78703703703704E-06, 5)
        f = Round(v(i, 2) - 5.78703703703704E-06, 5)
pour éviter que
mar. 18-02-2014 00:05:00,00___mar. 18-02-2014 00:10:00,00
ajoute 1 dans la tranche 00h00 - 00h05 du mardi.

La constante 5,78703703703704E-06 (=0,5/86400) est la durée d'une demi-seconde exprimée en jour.
C'est par erreur que j'ai écrit 5.85480093676815E-06 (=0,5/85400). Excusez-moi !


ℝOGER2327
#7165


Mardi 24 Gueules 141 (Conversion de Saint Matorel, bateleur - fête Suprême Quarte)
30 Pluviôse An CCXXII, 5,9728h - traineau
2014-W08-2T14:20:05Z
 
- 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
Retour