Faire un graphe de répartition d'heure

Tuf

XLDnaute Nouveau
Bonjour,

Tout d'abord je m'escuse d'avance si la question est une question bête, je suis encore assez débutant...

J'ai une superbe fichier avec des logs et dans une colonne l'heure formulé sous cette forme: "[10/Jun/2008:18:56:46" ou "[10/Jun/2008:18:56:46 +0200]" sur les deux colonnes si je fusionne.

et j'aimerais faire un graph qui donne une idée des horaires ou il y a une grand activités. Je pensai a une histogramme avec une colonne pas heure ou demi heure mais j'ai rigoureusement aucune idée de comment arriver a ca résultat.

Avez vous des idées? Merci de votre aide

Cordialement,

François
 

Tuf

XLDnaute Nouveau
Re : Faire un graphe de répartition d'heure

voila, c'est pas lourd 48k :eek:
Il a fallu tout couper..
 

Pièces jointes

  • forum.xls
    24.5 KB · Affichages: 172
  • forum.xls
    24.5 KB · Affichages: 174
  • forum.xls
    24.5 KB · Affichages: 197

Celeda

XLDnaute Barbatruc
Re : Faire un graphe de répartition d'heure

Bonjour,

Avec un graphique du type Nuage de points, on peut arriver à faire figurer et d'une part, les horaires et d'autre part la quantité. Il y a plusieurs exemples sur le site.
Mais au delà de cette méthode, il s'agit de mettre au clair le fichier :

déjà transformer la cellule en donnée exploitable : avec un ctr F, remplacer toutes les parenthèses qui empêche d'avoir une donnée correcte et determiner ce que tu appelles :

une idée des horaires ou il y a une grand activités.

la grande activité se situe où pour toi ?

donc un petit travail avant s'impose soit un petit ménage, une petite structure correcte pour pouvoir sortir une base de données qui donnera un graph......

D'ailleurs, on devrait toujours travailler avec des fichiers dont les données permettent une réalisation rapide et efficace.
 

job75

XLDnaute Barbatruc
Re : Faire un graphe de répartition d'heure

Bonjour Tuf, bonjour à tous.
Vous trouverez ci-joint votre fichier et le graphique de répartition des heures.
1) La colonne C (mise au format heure) récupère les heures de la colonne A par la formule =--DROITE(A1;8). Ainsi les heures sont des nombres (<1).
2) En colonne E la fonction NB.SI est utilisée pour obtenir le nombre cumulé de cellules par tranches d'heures.
3) Enfin les colonnes F et G permettent de créer le graphique. La tranche 1 correspond à la tranche 00:00:00-00:59:59, la tranche 2 01:00:00-01:59:59 etc...
A+
 

Pièces jointes

  • forum.xls
    30.5 KB · Affichages: 207
  • forum.xls
    30.5 KB · Affichages: 209
  • forum.xls
    30.5 KB · Affichages: 202

job75

XLDnaute Barbatruc
Re : Faire un graphe de répartition d'heure

Bonjour,
J'ai modifié les colonnes E et F et amélioré la présentation du graphique.
Le 1er fichier pour des tranches d'une heure, le 2ème d'une 1/2 heure.
A+
 

Pièces jointes

  • forum (1).xls
    31.5 KB · Affichages: 218
  • forum (1).xls
    31.5 KB · Affichages: 204
  • forum (2).xls
    33 KB · Affichages: 181
  • forum (1).xls
    31.5 KB · Affichages: 213

MIC122

XLDnaute Nouveau
Re : Faire un graphe de répartition d'heure

Bonjour,
je souhaite également faire un graph pour mesurer le temps d'utilisation de postes informatique. Mon tableau comporte 4 colonnes avec la date l'heur de connexion l'heure de déconnexion et la durée.

je ne parviens pas à voir l'architecture que doit avoir mon tableau pour la garph. pouvez vous me donner des indications svp?

merci d'avance.
 

job75

XLDnaute Barbatruc
Re : Faire un graphe de répartition d'heure

Bonjour MIC122, bienvenue sur XLD,

Voyez par exemple le fichier joint.

Quelques explications :

- les données de base à renseigner sont en colonnes B et C, elles doivent comporter la date avec l'heure car la date de fin peut être le lendemain de la date de début

- les colonnes A D P Q contiennent des formules qu'il faut absolument bien comprendre

- le tableau source du graphique est la plage P3:Q33, bien voir qu'en colonne P ce sont des dates

- la cellule J2 (à masquer par une police blanche) détermine le titre du graphique

- la formule en J2 contient la fonction volatile ALEA() qui permet le recalcul des formules et la mise à jour éventuelle de l'axe des abscisses (touche F9).

Edit : les données en colonne B et C ayant été établies par des nombres aléatoires j'affiche aussi les centièmes de seconde en colonne D.

Pour que vous puissiez vérifier qu'on obtient bien la somme exacte en colonne Q.

A+
 

Pièces jointes

  • Durées d'utilisations(1).xlsx
    213.5 KB · Affichages: 142
Dernière édition:

MIC122

XLDnaute Nouveau
Re : Faire un graphe de répartition d'heure

Bonjour Job75

j'ai bien compris le fonctionnement grâce à ces explications. Je peux cumuler les données et faire un graph assez simplement. Maintenant si je veux aller plus loin, est il possible avec cette même architecture de vérifier heure par heure si le poste est occupé? . Je précise que je dispose de plusieurs salles équipés de maxi 3 postes et ouvert en h24. Je voudrait récupérer les logs de la base données les insérer dans ce tableau et trier poste par poste. Mais comment savoir les heures non utilisées sur le graph? Pour la durée j'ai vu et cela me permet par déduction de connaitre un % d'utilisation. Je dois justifier de l'investissement et savoir aussi à quels moments ces postes sont connectés. Bien entendu pour réaliser des stats mensuelles .

Merci pour toutes vos explications.
mic122
 

job75

XLDnaute Barbatruc
Re : Faire un graphe de répartition d'heure

Re,

Dites donc, vous n'avez jusqu'à maintenant présenté aucun fichier montrant ce que vous voulez obtenir.

Il faudrait vous y mettre non ?

Pour compléter mon fichier précédent voici une solution (2) plus compliquée mais bien meilleure.

Avec les noms définis X et Y (la fonction DECALER est volatile) :

Code:
=DECALER(Feuil1!$P$3;;;NB(Feuil1!$P:$P))
=DECALER(Feuil1!$Q$3;;;NB(Feuil1!$P:$P))
X et Y permettent de définir dynamiquement la série du graphique.

A+
 

Pièces jointes

  • Durées d'utilisations(2).xlsx
    214.1 KB · Affichages: 295

job75

XLDnaute Barbatruc
Re : Faire un graphe de répartition d'heure

Re,

Pour le nombre de connections dans une tranche d'heure, le plus simple est d'utiliser cette fonction VBA :

Code:
Function NbConnections(annee%, mois As Byte, deb, fin)
Dim i&, hdeb&, hfin&, j#, h As Byte, a&(23)
deb = deb.Resize(Application.Match(9 ^ 9, deb))
fin = fin.Resize(UBound(deb))
For i = 1 To UBound(deb)
  If IsNumeric(CStr(deb(i, 1))) And IsNumeric(CStr(fin(i, 1))) Then
    hdeb = Int(24 * CDec(deb(i, 1))): hfin = Int(24 * CDec(fin(i, 1)))
    While hdeb <= hfin
      j = hdeb / 24
      If Year(j) = annee And Month(j) = mois Then h = Hour(j): a(h) = a(h) + 1
      hdeb = hdeb + 1
    Wend
  End If
Next
NbConnections = Application.Transpose(a) 'vecteur colonne
End Function
Le code est à placer dans un module standard.

La fonction renvoie une matrice, pour l'utiliser :

- sélectionner la plage Q3:Q26

- entrer dans la barre de formule =NbConnections(G2;I2;B:B;C:C)

- valider matriciellement par Ctrl+Maj+Entrée.

Fichier joint.

Edit : boucle While/Wend au lieu d'une boucle For/Next.

Bonne soirée.
 

Pièces jointes

  • Nombre de connections(1).xlsm
    220.3 KB · Affichages: 216
Dernière édition:

job75

XLDnaute Barbatruc
Re : Faire un graphe de répartition d'heure

Bonjour le forum,

Si l'on veut analyser une tranche d'heure particulière on peut se servir de la liste de validation en I2.

Cette macro renseigne la colonne E qui détermine la MFC sur les colonnes A à D :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A:D,G2:H2]) Is Nothing Then [I2] = ""
If Intersect(Target, [I2]) Is Nothing Then Exit Sub
Dim annee%, mois As Byte, h As Byte, deb, fin, rest, i&, hdeb&, hfin&, j#
annee = [G2]: mois = [H2]: h = Val([I2])
deb = [B1].Resize(Application.Match(9 ^ 9, [B:B]))
fin = [C1].Resize(UBound(deb))
Range("E3:E" & Rows.Count).ClearContents 'RAZ
If [I2] = "" Then Exit Sub
rest = [E1].Resize(UBound(deb))
For i = 1 To UBound(deb)
  If IsNumeric(CStr(deb(i, 1))) And IsNumeric(CStr(fin(i, 1))) Then
    hdeb = Int(24 * CDec(deb(i, 1))): hfin = Int(24 * CDec(fin(i, 1)))
    While hdeb <= hfin
      j = hdeb / 24
      If Year(j) = annee And Month(j) = mois Then _
        If Hour(j) = h Then rest(i, 1) = rest(i, 1) + 1
      hdeb = hdeb + 1
    Wend
  End If
Next
[E1].Resize(i - 1) = rest
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Nombre de connections(2).xlsm
    225.2 KB · Affichages: 98
Dernière édition:

MIC122

XLDnaute Nouveau
Re : Faire un graphe de répartition d'heure

Bonsoir,

je vais prendre le temps de comprendre tous ces modules et toutes ces fonctions. c'est bien loin de ce que j'imaginais et avais entrepris .
J'ai encore beaucoup de chemin à parcourir.

Merci de votre aide
 

Pièces jointes

  • TEST HORAIRE.xlsx
    40.6 KB · Affichages: 59
  • TEST HORAIRE.xlsx
    40.6 KB · Affichages: 63

job75

XLDnaute Barbatruc
Re : Faire un graphe de répartition d'heure

Bonjour MIC122, le forum,

Dans ce fichier (3) le point du graphique de la tranche choisie est mis en évidence.

A+
 

Pièces jointes

  • Nombre de connections(3).xlsm
    226.7 KB · Affichages: 126

Statistiques des forums

Discussions
312 684
Messages
2 090 916
Membres
104 697
dernier inscrit
Pierrot Hubert