Moyenne par bloc

carterslap

XLDnaute Junior
Bonjour,

J'ai une colonne avec n donné, je souhaite réaliser une moyenne toutes les 10 données... Je n'arrive pas à trouver la solution..

merci d'avance!:D
 

Pièces jointes

  • cza.xls
    16 KB · Affichages: 57
  • cza.xls
    16 KB · Affichages: 70
  • cza.xls
    16 KB · Affichages: 68

carterslap

XLDnaute Junior
Re : Moyenne par bloc

bonjour carterslap

=MOYENNE((D4:D13>0)*(D4:D13))
moyenne nombes négatifs
=SOMME.SI($D$4:$D$13;"<0")/NB.SI($D$4:$D$13;"<0")

Merci mais c'est pas que je veux faire. Je veux pouvoir calculer une moyenne toute les 10 données (qu'elles soient négative ou pas d'ailleurs, tout ensemble).

Je veux pouvoir dans la colonne E, étirer la formule et que toute les 10 lignes en gros, j'ai une moyenne des 10 valeurs. Comme ce que j'ai mis en colonne E, à titre d'exemple...

Je sais pas si je me fais bien comprendre..
 

pierrejean

XLDnaute Barbatruc
Re : Moyenne par bloc

Re

Code commenté (nb : les lignes precédées de ' sont ignorées par le Vba )

Code:
Sub moyennes()
' 13 =ligne de la 1ere moyenne
' step 10 = toutes les 10 lignes a partir de 13
' Range("D65536").End(xlUp).Row= derniere ligne non vide de la colonne D
' peut etre remplacé par n'importe quel numero de ligne pour arreter l'ecriture des formules
For n = 13 To Range("D65536").End(xlUp).Row Step 10
 Range("E" & n).FormulaLocal = "=MOYENNE(D" & n - 9 & ":D" & n & ")"
Next n
End Sub
 

carterslap

XLDnaute Junior
Re : Moyenne par bloc

Re

Code commenté (nb : les lignes precédées de ' sont ignorées par le Vba )

Code:
Sub moyennes()
' 13 =ligne de la 1ere moyenne
' step 10 = toutes les 10 lignes a partir de 13
' Range("D65536").End(xlUp).Row= derniere ligne non vide de la colonne D
' peut etre remplacé par n'importe quel numero de ligne pour arreter l'ecriture des formules
For n = 13 To Range("D65536").End(xlUp).Row Step 10
 Range("E" & n).FormulaLocal = "=MOYENNE(D" & n - 9 & ":D" & n & ")"
Next n
End Sub

J'ai voulu changer pour tester, mais il m'indique une erreur à la 7e ligne

Sub moyennes()
' 13 =ligne de la 1ere moyenne
' step 10 = toutes les 10 lignes a partir de 13
' Range("D65536").End(xlUp).Row= derniere ligne non vide de la colonne D
' peut etre remplacé par n'importe quel numero de ligne pour arreter l'ecriture des formules
For n = 5 To Range("D65536").End(xlUp).Row Step 2
Range("E" & n).FormulaLocal = "=MOYENNE(D" & n - 9 & ":D" & n & ")"
Next n
End Sub
 

Bebere

XLDnaute Barbatruc
Re : Moyenne par bloc

bonjour Pierre Jean
en reprenant le code de Pierre Jean
en F1 tu mets ton écart et clic bouton
Code:
Sub moyennes()
Columns(5).ClearContents
ecart = [F1]
For n = ecart + 4 - 1 To Range("D65536").End(xlUp).Row Step ecart
 Range("E" & n).FormulaLocal = "=MOYENNE(D" & n - ecart + 1 & ":D" & n & ")"
Next n
End Sub
 

pierrejean

XLDnaute Barbatruc
Re : Moyenne par bloc

Re

Désolé
ceci devrait etre meilleur

Code:
Sub moyennes()
'debut en ligne ligdeb
ligdeb = 13
'moyenne toutes les pas lignes
pas = 10
For n = ligdeb To Range("D65536").End(xlUp).Row Step pas
 Range("E" & n).FormulaLocal = "=MOYENNE(D" & n - pas + 1 & ":D" & n & ")"
Next n
End Sub
 

ROGER2327

XLDnaute Barbatruc
Re : Moyenne par bloc

Bonjour à tous


Ça ne vaut pas ce qui précède, mais juste pour le plaisir, une solution par formules.​


ROGER2327
#5618


Lundi 16 Pédale 139 (Saints Templiers, adeptes - fête Suprême Quarte)
20 Ventôse An CCXX, 6,2557h - cordeau
2012-W10-6T15:00:49Z
 

Pièces jointes

  • Copie de cza.xls
    85 KB · Affichages: 78

Discussions similaires

Statistiques des forums

Discussions
312 614
Messages
2 090 242
Membres
104 464
dernier inscrit
alzerco