Autre Post
Bonjour,
tout d'abord pardonnez- moi d'avance l'absence d'accent dans mon message, (clavier etranger)
Je dispose d'un dossier contenant de nombreux fichiers excel de formes identiques. Dans chacun se trouve dans la colonne H une variable 'Heure' de la forme 0123 pour 01h23 , qui s'etend a partir de 0000 jusqu'a 2359, a chaque periode de temps est associe un certain nombre (d'operation) un entier naturel ou nul, contenue dans la colonne A . Cependant l'heure n'est pas distribue de maniere 'homogene', je m'explique, sur le Fichier 1 de mon dossier je peux avoir :
0012
0023
0034
0056
Et avoir dans le Fichier 2 du dossier
0021
0045
0059
Ce que je souhaite donc est de creer sur un autre fichier excel une matrice de la forme suivante:
H1 correspond a la periode de temps entre 0000 et 0059 , cela jusqu'a entre 2300-2359=H24
1;2;3 ... Correspond au different fichier de mon dossier.
H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 ....H24
1
2
3
4
5
.
.
.
Nombre de fichier total
Donc pour chaque periode de temps (chaque heure en realite) je souhaite faire la somme du nombre d'operation contenu en A et ce pour chaque feuille. Ce que j'ai fais pour l'instant est le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Sub Dailytraffic3() 'Application.ScreenUpdating = False Dim wB As Workbook Dim SumResult As Double 'Dim H1 As Range Dim i As Integer Dim H1RAN As Variant Set FileSystemObj = CreateObject("Scripting.FileSystemObject") Set FolderObj = FileSystemObj.GetFolder("C:\...\") Set H1RAN = Workbooks("Libro1").Sheets("Hoja1").Range("B1") For Each fileobj In FolderObj.Files Set wB = Workbooks.Open(fileobj.Path) For i = 4 To 100 'H1 = (wB.Sheets("Schedule Daily Bank Structure R").Cell(i, 1).Value) If (0 <= Left(wB.Sheets("Schedule Daily Bank Structure R").Cells(i, 8).Value, 2) < 1) Then H1RAN = H1RAN + wB.Sheets("Schedule Daily Bank Structure R").Cell(i, 1).Value 'Cela ne fonctionne pas, je ne sais pas vraiment pourquoi ... End If Next i H1RAN = Workbooks("Libro1").Sheets("Hoja1").Range("B1") + 1 wB.Save wB.Close Next fileobj End Sub
Je souhaite repeter l'operation 24 fois en creant H2RAN , H3RAN etc ...
Pour l'instant cette ''intuition'' et ce debut de code ne fonctionne meme pas, cela fait pas mal de temps que je travaille dessus.
Je precise aussi que je debute tout juste en VBA,
Je vous remercie sincerement pour votre contribution.
Partager