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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager