Bonjour,
J'essaye de calculer une moyenne selon le nombre d'entrées pour des données exporter d'Excel et présentes sur une base de données Access. Malheureusement , je ne suis pas parvenue à trouver une réponse adéquate parmi les réponses sur ce site.
Chaque semaines neufs taux de fuel sont extrés d’une feuille Excel présente sur internet et ordonnés dans une base de données Access suivant leur codes pays dans une table nommée Country_Data ( 1 = Belgique, 5 = France, 9 = UK) .
Ses taux sont ordonnés par date d’extraction et ensuite via le code VBA ci-dessous (page 2 , Calculate) , ils sont référencés sur une feuille Excel par Mois ( de Janvier à Décembre). Je n’arrive pas à obtenir la moyenne pondérée par rapport au nombre d’entrées sur un mois. Par exemple Janvier 5 semaines , Février 4 semaines , Mars 4 semaines, et Avril 3 semaines.
J'ai divisé le résultat par 9 pour le nombre de pays puis par 1000 mais je n'arrive pas à calculer la moyenne suivant le nombre d'entrées sur un mois. Est ce que quelqu'un à une idée? merci d'avance
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 Private Sub CALCULATE_BTN_Click() Dim DBS As Database Dim RST As Recordset Dim SQL_TXT As String Range("C9:N10").Select Selection.Clear If OPEN_DBS(DBS, FUEL_DB) Then SQL_TXT = "SELECT * FROM FUEL_DATA" If OPEN_RST(DBS, RST, SQL_TXT) Then While Not RST.EOF For i = 1 To 12 If Month(RST![FUELDATA_DATE]) = Month(Cells(8, 2 + i).Value) And Year(RST![FUELDATA_DATE]) = Year(Cells(8, 2 + i).Value) Then Cells(9, 2 + i).Value = Cells(9, 2 + i).Value + RST![FUELDATA_AUTOMOTIVE] / 9 / 1000 End If Next i RST.MoveNext Wend RST.Close End If DBS.Close End If End Sub
Partager