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 :

Moyenne et tracé de courbe VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 19
    Par défaut Moyenne et tracé de courbe VBA
    Bonjour à tous
    Je suis loin d'être un expert en VBa et cherche de l'aide.
    Je dispose d'un classeur Excel avec une colonne rempli de valeurs et souhaite automatiser un algorithme de moyenne glissante. Je veux calculer la moyenne de 5 valurs puis de 5 autres puis de 5 autres dans trois différentes sur tout le document (voir image pour mieux comprendre). Et ensuite les tracer.
    Nom : algo.JPG
Affichages : 300
Taille : 52,1 Ko

    J'ai commencé à écrire un programme et suis persuadé qu'il y a plus simple
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
    Sub moyenne()
    Dim moy As Integer
    Dim i As Integer
    Dim moyt1 As Currency
    Dim moyt0 As Currency
    Dim moyt2 As Currency
    Dim sommet1 As Currency
    Dim sommet2 As Currency
    Dim sommet0 As Currency
     
     
    Dim FL1 As Worksheet, NoCol As Integer
    Dim NoLig As Long, Var As Variant
        Set FL1 = Worksheets("Feuille1")
        NoCol = 3 'lecture de la colonne 1
        NoLig = 40
        Dim max As Integer
        max = Split(FL1.UsedRange.Address, "$")(4)
     
        While NoLig < max
            Var = FL1.Cells(NoLig, NoCol)
     
            If i <= 5 Then
                sommet0 = sommet0 + Var
            End If
     
            If i <= 10 And i > 5 Then
                sommet1 = sommet1 + Var
            End If
            If i <= 15 And i > 10 Then
                sommet2 = sommet2 + Var
            End If
     
            i = i + 1
            If i = 15 Then
                    i = 0
            End If
     
            NoLig = NoLig + 1
        Wend
     
    MsgBox (sommet2)
     
    End Sub
    Je me déplace dans tous le document et calcule les moyennes comme je le veux mais ensuite je ne sais pas comment les tracer au fur et à mesure qu'elles se calculent.


    Pouvez vous m'aider ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    effectivement je pense qu'on peut faire plus simple.

    Pourquoi ne pas passer par des formules deja ?

    Sinon, ta moyenne M-7/M-3 // M-2/M+2 // M+3/M+7 tu veux faire la moyenne des 3 moyennes ? ou les ponderer ?

    tu aurais un exemple du resultat souhaite stp ??
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 19
    Par défaut
    le problèmes st que je ne souhaite pas remplir des colonnes de ma feuille de calcul mais laisser les variables des macros le gérer
    Concernant un résultat ce serait un tracé des 3 courbes sur le même graphique pour voir les différences
    Et les M-7, M-3,... sont des valeurs de mesures et non des moyennes

Discussions similaires

  1. tracé de courbe vba
    Par supengalere dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/06/2017, 11h27
  2. Tracé de courbe en vba
    Par supengalere dans le forum Excel
    Réponses: 6
    Dernier message: 12/06/2017, 15h39
  3. Tracé de courbe + Régression linéaire
    Par AC88mm dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/05/2007, 14h27
  4. tracé de courbe xy avec mschart
    Par legos dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/09/2006, 15h30
  5. Tracé de courbes ou graphe
    Par dridri86 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 11/04/2006, 16h51

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