Aide code VBA -calcul Moyenne mobile- - VB/VBA/VBS - Programmation
Marsh Posté le 11-05-2008 à 10:46:04
bonjour,
c'est normal tu as un tableau(i,1) avec i allant de 10 à n et quand tu recupere les valeur tu dis que i va de 2 à n
moi je changerai juste
For i = 10 To n
somme = Cells(i - 8, 2) + Cells(i - 7, 2) + Cells(i - 6, 2) + Cells(i - 5, 2) + Cells(i - 4, 2) + Cells(i - 3, 2) + Cells(i - 2, 2) + Cells(i - 1, 2) + Cells(i, 2)
tableau(i, 1) = somme / 9
Next i
For i=2 to n-7
cells(i,1)=tableau(i+8,1)
next i
ca devrait marcher
Marsh Posté le 11-05-2008 à 13:46:51
Y a moyen de faire cela sont connaître le code en enregistrant via excel les opérations que tu veux effectuer puis consulter le code.
c'est aussi simple que ça!!!!
Marsh Posté le 10-05-2008 à 21:09:02
Bonjour,
Depuis tout à l'heure je galère alors je me tourne vers vous.
Je souhaite calculer des moyennes mobiles à 9 périodes avec le code VBA. ( je précise que que je débutant )
mes données sont disposées comme suit: feuil1 : B1=titre; De B2 à B1300 il y a les prix. la feuil2 est renommée resultats.
Voici mon code:
Option Explicit
Option Base 1
Sub moymob9()
Dim i, n As Integer
Dim tableau() As Double
Dim plage As Variant
Worksheets("feuil1" ).Select
Set plage = Range(Cells(2, 2), Cells(2, 2).End(xlDown))
'compte le nombre de cellules de la plage
n = WorksheetFunction.Count(plage)
ReDim tableau(n, 1)
For i = 10 To n
tableau(i, 1) = WorksheetFunction.Average(Cells(i - 8, 2), Cells(i, 2))
Next i
Worksheets("resultats" ).Activate
Columns(1).Clear
For i = 2 To n
Cells(i, 1).Value = tableau(i, 1)
Next i
End Sub
Ce code me donne de faux resultats. J'en conclue que c'est mon code qui est faux. Est-ce que vous pourriez me dire à quel ca coince svp?
Mille Merci!