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

Macros et VBA Excel Discussion :

Trouver le code VBA de la moyenne d'une colonne d'un tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Par défaut Trouver le code VBA de la moyenne d'une colonne d'un tableau
    Bonsoir à tous! Je débute en VBA Excel et je cherche des codes qui permettraient de calculer des fonctions basiques de Excel (telles que la moyenne, l'écart-type... ) d'une colonne d'un tableau dont les lignes peuvent varier.
    Merci d'avance, j'avoue que je me sens un peu perdue!

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tout dépend si tu peux utiliser une formule dans une cellule sous tes données ou si tu veux seulement le résultat de la formule
    Je te donne les deux exemples pour la moyenne

    1. Donne le résultat et peut le placer sous les données ou l'utiliser "ailleurs"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test1()
    Dim PremLig As Integer, derlig As Long, Result As Double
        PremLig = 2
        derlig = Split([Feuil1].UsedRange.Address, "$")(4)
     
        'si ta colonne A est d'une taille différente que la plus longue colonne
        derlig = [Feuil1].Range("A65536").End(xlUp).Row
     
        Result = Application.WorksheetFunction.Average([Feuil1].Range("A" & PremLig & ":A" & derlig))
        [Feuil1].Cells(derlig + 1, 1) = Result
        MsgBox Result
    End Sub
    2. Place la formule sous les données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test2() 
    Dim PremLig As Integer, derlig As Long
        PremLig = 2
        'derlig = Split([Feuil1].UsedRange.Address, "$")(4) 'dernière ligne des données
     
        'Ou... si ta colonne A est d'une taille différente que la plus longue colonne
        derlig = [Feuil1].Range("A65536").End(xlUp).Row
     
        'Place la formule sur la première ligne vide de la colonne A
        [Feuil1].Cells(derlig + 1, 1).Formula = "=AVERAGE(" & [Feuil1].Range("A" & PremLig & ":A" & derlig).Address & " )"
        MsgBox [Feuil1].Cells(derlig + 1, 1)
    End Sub
    Pour l'écart type, je te conseille la formule sous les données plutôt que le calcul (!!!) (formule non utilisable avec VBA - Excel 2003)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test3() 'Avec formule placée sous les données
    Dim PremLig As Integer, derlig As Long
        PremLig = 2
     
        'Attention, si la dernière contient la moyenne, utiliser derlig - 1
        derlig = [Feuil1].Range("A65536").End(xlUp).Row 'ignore la ligne contenant la moyenne
     
        'Place la formule sur la même ligne que la moyenne, colonne B
        [Feuil1].Cells(derlig + 1, 2).Formula = "=STDEVA(" & [Feuil1].Range("A" & PremLig & ":A" & derlig).Address & " )"
        MsgBox [Feuil1].Cells(derlig + 1, 2)
    End Sub
    Pour tester, lance d'abord le test 3 sinon ton écart type inclut la moyenne qui se trouvera en dernière ligne dans son calcul
    Bonne journée

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Par défaut Trouver le code VBA de la moyenne d'une colonne d'un tableau
    Merci Ouskel'n'or! Grâce à toi, c'est devenu plus clair dans ma tête!

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

Discussions similaires

  1. Trouver astuce code vba
    Par brahimich dans le forum Général VBA
    Réponses: 7
    Dernier message: 01/04/2015, 00h23
  2. [XL-2007] Calculer la moyenne d'une colonne en VBA. Fonction average?
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/08/2009, 10h15
  3. code pour calculer moyenne d'une colonne
    Par ti_angelo dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/09/2008, 13h46
  4. Code VBA fonction du resultat d'une requête
    Par Nessie37 dans le forum VBA Access
    Réponses: 10
    Dernier message: 20/02/2008, 13h21
  5. [code VBA]passage de variable pour une requête paramétrée
    Par christrabin dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/04/2007, 14h30

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