Excel : moyenne sur les 3 précédents mois.
Nico_TchekRep
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je coince !
Je dois réaliser une macro pour remplir une colonne de tableau me donnant la moyenne des donnees sur les 3 precedents mois a partir de la date actuelle.
A gauche, en colonne, la liste des produits et de leur caracteristiques.
Au milieu, 12 colonnes pour les mois avec les donnees sur lesquelles on doit moyenner.
A droite, normalement ma moyenne.
J'ai bidouillé ca :
Ca fonctionne plutot pas mal, je trouve le mois, la colonne ... mais ca bug au moment de récupérer la valeur dans les cellules.
Quelqu'un aurait une idée ?
D'avance merci !
Je coince !
Je dois réaliser une macro pour remplir une colonne de tableau me donnant la moyenne des donnees sur les 3 precedents mois a partir de la date actuelle.
A gauche, en colonne, la liste des produits et de leur caracteristiques.
Au milieu, 12 colonnes pour les mois avec les donnees sur lesquelles on doit moyenner.
A droite, normalement ma moyenne.
J'ai bidouillé ca :
Sub avera()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Dim f As Integer
Dim g As Integer
Dim h As Integer
Dim i As Integer
a = Range("AB13").Value 'on prend la valeur du mois courant
Range("E9:P9").Select 'on selectionne la plage qui contient la liste de mois
Cells.Find(What:=a, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate 'on cherche le mois courant dans la plage
b = ActiveCell.Column 'on recupere la colonne en question
c = b - 1 'on prend les 3 colonnes precedentes pour faire la moyenne
d = b - 2 'on prend les 3 colonnes precedentes pour faire la moyenne
e = b - 3 'on prend les 3 colonnes precedentes pour faire la moyenne
For i = 10 To 65 'on boucle sur toute la liste
f = Cells(c, i).Value 'on prend la valeur de la cellule m-1
g = Cells(d, i).Value 'on prend la valeur de la cellule m-2
h = Cells(e, i).Value 'on prend la valeur de la cellule m-3
ave = (f + g + h) / 3 'on fait la moyenne
MsgBox (ave)
Next
End Sub
Ca fonctionne plutot pas mal, je trouve le mois, la colonne ... mais ca bug au moment de récupérer la valeur dans les cellules.
Quelqu'un aurait une idée ?
D'avance merci !
A voir également:
- Excel : moyenne sur les 3 précédents mois.
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide