1 pièce(s) jointe(s)
Comment calculer une moyenne via VBA et Access
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.
Code:
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 |
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