moyenne

J

JJ

Guest
Bonsoir
Pour faire suite a ma demande de stat,

quelle pourrait etre la formule VBA qui permettrait de:*
-memoriser un ecart entre 2 nombres consecutifs
- faire la moyenne en divisant par le nombre de nombres

Ex: 4 6 10 16
nombres memerises par excel: 2,4,6 (écarts entre nombres)
Resultat: 12/3=4
Est ce difficile a écrire?
merci
JJ
 

CBernardT

XLDnaute Barbatruc
Bonsoir JJ,


Je te propose ce code pour passer en revue la plage des valeurs en commençant par la seconde valeur. Le résultat est reporté à chaque ligne dans la cellule de la colonne à droite :

A2 : 4
A3 : 6 : 2
A4 : 10 : 3
A5 : 16 : 4


Sub MoyEcarts()
Dim Plage As Range, C As Range, L As Integer, M As Variant, N As Variant
L = Range('A10000').End(xlUp).Row
Set Plage = Range('A3:A' & L)
For Each C In Plage
N = N + C - C.Offset(-1, 0)
M = M + 1
C.Offset(0, 1) = N / M
Next C
End Sub

Cordialement

Bernard
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir JJ et CBernardT,

Une autre possibilité avec les mêmes données que CBernardT :

Sub MoyenneEcarts()
'
Dim TotalEcarts As Long
'
  Range('A3').Select
  Do Until IsEmpty(Selection.Value)
    TotalEcarts = TotalEcarts + Selection - Selection.Offset(-1, 0)
    Selection.Range('B1') = TotalEcarts / (Selection.Row - 2)
    Selection.Range('A2').Select
  Loop
End Sub

Amicalement
Charly
 
J

JJ

Guest
Merci a tous les deux.
J'ai testé la 1ere macro: excellent, d'autant plus que l'on peut 'chainer' en recopiant le resultat en cell A et relancer la macro et recopier le resultat......etc
merci
je vais tester celle de Charly
Bonne soirée
JJ
 

Statistiques des forums

Discussions
300 761
Messages
1 987 018
Membres
209 681
dernier inscrit
Excelcrable