Bonjour à tous,
j'ai un devoir de VBA à rendre, et mon niveau étant assez faible, je n'arrive pas à tout faire, j'aurais voulu savoir si quelqu'un pouvait me donner un petit coup de main ?
Voilà mon énoncé :

"Créez un module M_Indicateurs dans le dossier.
Dans le module, programmez la macro MMAn qui, à partir de deux arguments :
- un objet Range correspondant à la série P(t), t allant de 1 à T ;
- n, l'odre de la moyenne mobile
Retourne un vecteur de T lignes et 1 colonnes contenant les valeurs calculées de la moyenne mobile d'odre n sur P(t) - les n-1 premières valeurs étant nulles - en appliquant l'algorithme de la question 1. Vous vérifierez que le nombre d'observations est au moins égal à n l'odre de la moyenne mobile avant de faire le calcul. Dans le cas contraire un message avertira l'utilisateur que la moyenne mobile ne peut pas être calculée car l'odre de la moyenne mobile est supérieur au nombre d'observations.
Testez votre macro dans la colonne E et vérifiez que vous obtenez le même résultat que dans la colonne D."

J'ai réalisé une ébauche mais je n'arrive pas à programmer la vérification du nombre d'observation, voici ce que j'ai fait pour le moment :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Function MMAn(n As Integer, i As Range, ColonneDonneSource As Range) As Double
 
Dim FenetreDebut As Integer, FenetreFin As Integer, FenetreCalc As Range
 
FenetreDebut = n - 1
FenetreFin = n - 1 - FenetreDebut
 
Set FenetreCalc = Range(i.Offset(-FenetreDebut, 0), i.Offset(FenetreFin, 0))
MMAn = Application.WorksheetFunction.Average(FenetreCalc)
 
End Function