Average formula avec selection variable
Bonjour
Le but de ce code est de faire une moyenne avec une selection de cellule qui varie d une ligne par jour.
Le code pointe sur la derniere ligne pleine et calcul la moyenne sur les 5 jours précédent. Derniere ligne pleine est la ligne 145.
Le résultat de ce calcul est dans la cellule M57.
Cependant => le code me renvoie sur la moyenne des datas lignes 198 - 203 à la place de la ligne 145 à 140
l'idee c est que chaque jour une ligne s ajoutera et chaque jour ma moyenne se calculera sur les 5 dernieres lignes. Donc demain ça sera la moyenne de la ligne 141 à 146
Pourriez vous m'aider à comprendre ou se situe mon erreur ?
Code:
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 47 48 49 50 51 52 53 54 55
| Sub LR()
'STEP 1 : Extend formulas last line main sheet
'-------------------------------------------------------------------------
Dim x As Long
Dim y As Long
Application.ScreenUpdating = False
With ActiveSheet
'Find last row in column A
x = .Cells(.Rows.Count, 1).End(xlUp).Row
'Find last column for row X
y = .Cells(x, .Columns.Count).End(xlToLeft).Column
'With range [x1:xy]
With .Cells(x, 1).Resize(, y)
.Copy
With .Offset(1)
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteFormulas
End With
End With
End With
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
'-------------------------------------------------------------
'STEP 2 : Average Daily
'-------------------------------------------------------------------------
Dim x1 As Long
Dim x2 As Long
Dim txtFormula As String
With ActiveSheet
x1 = .Cells(.Rows.Count, 1).End(xlUp).Row
x2 = x1 - 5
txtFormula = "= Average(R" & x1 & "C3:R" & x2 & "C3)"
Range("M57").Formula = txtFormula
End With
End Sub |