Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

moyenne mobile centrée en vba

HERBIN

XLDnaute Junior
Bonsoir
J’essaye de réaliser une petite macro pour calculer la moyenne mobile en prenant la moyenne des 4 valeurs décaler d’une ligne au début et à la fin de la colonne E
E3 =MOYENNE(B2:B5)
E4 =MOYENNE(B3:B6)
E5 = =MOYENNE(B4:B7)

Et la moyenne mobile centrée à partir des moyennes mobiles décaler de deux lignes au début et à la fin de la colonne F
F4 = =MOYENNE(E3:E4)
F5 = =MOYENNE(E4:E5)

J’essaye de transcrire ses formules en VBA mais ça ne marche pas, j’obtiens le même résultat . j’ai utilisé une boucle et je n’arrive pas é décaler d’une ligne de chaque coté, est-ce difficile à faire !

Merci pour votre aide
Bien cordialement
herbin
 

Pièces jointes

  • TABLEAU moyenneMobile.xls
    97.5 KB · Affichages: 136
  • TABLEAU moyenneMobile.xls
    97.5 KB · Affichages: 149
  • TABLEAU moyenneMobile.xls
    97.5 KB · Affichages: 184

jpb388

XLDnaute Accro
Re : moyenne mobile centrée en vba

Bonjour à tous
voila
 

Pièces jointes

  • TABLEAU moyenneMobile.xls
    103 KB · Affichages: 131
  • TABLEAU moyenneMobile.xls
    103 KB · Affichages: 133
  • TABLEAU moyenneMobile.xls
    103 KB · Affichages: 153

kjin

XLDnaute Barbatruc
Re : moyenne mobile centrée en vba

Bonjour,
Ton exemple ne reflète pas le décalage que tu souhaites obtenir et si tu ne fais pas 2 boucles tes résultats seront forcément erronés
Peut-être plus simple comme ceci en adaptant les valeurs de i
Code:
Sub calCoeff()
'déclaration des variables
Dim i As Integer, n As Integer
Dim DerLig As Long
'1ere boucle de traitement
With Worksheets("Moyenne_Mobile")
    DerLig = .Range("A" & .Rows.Count).End(xlUp).Row
    For i = 3 To DerLig - 1
        .Range("E" & i) = Application.Sum(Range("B" & i - 1 & ":B" & i + 1)) / 4
    Next i
    For i = 3 To DerLig - 3
        .Range("F" & i) = Application.Sum(Range("E" & i & ":E" & i + 1)) / 2
    Next i
End With
End Sub
A+
kjin
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…