IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Comment calculer une moyenne via VBA et Access


Sujet :

VBA Access

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2018
    Messages : 37
    Par défaut 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 : 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
    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
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment calculer une moyenne d'heure ?
    Par matt240490 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/07/2013, 09h23
  2. [XL-2007] Comment faire une recherche via VBA
    Par medino55 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/03/2012, 12h13
  3. comment charger une listbox via une requete access
    Par sanfour_walhan dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/12/2006, 07h44
  4. execute une macro via vba sous access
    Par nes dans le forum Access
    Réponses: 4
    Dernier message: 28/03/2006, 23h15
  5. comment modifier le nom d'une colonne via VBA?
    Par Invité dans le forum Access
    Réponses: 6
    Dernier message: 24/11/2005, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo