Calcul ecart-type sur lignes filtrées

mikael2235

XLDnaute Occasionnel
Bonjour,

Pour calculer moyenne, ecart-type sur une feuille filtrée, j'ai fait ceci.
ça fonctionne pour la moyenne, mais pas pour l'ecart-type.
J'ai l'erreur suivante : "Impossible de lire la propriété StDev de la classe WorksheetFunction"

Code:
'CALCULS SUR LA SERIE DE DONNEES
Dim ligfin
ligfin = [A65536].End(xlUp).Row
j = 0

For i = 4 To ligfin
    Cells(i, col).Activate
    If ActiveCell.EntireRow.Hidden = False Then
        j = j + 1
        ReDim valeurs(1 To j)
        valeurs(j) = CDbl(Cells(i, col).Value)
    End If
Next

moyenne = WorksheetFunction.Average(valeurs)
ecartype = WorksheetFunction.StDev(valeurs)
Pouvez vous m'aider ?

Merci. Mikael
 

mikael2235

XLDnaute Occasionnel
Re : Calcul ecart-type sur lignes filtrées

Je m'auto-réponds :
Code:
col = CDbl(Me.TextBox1.Value)
mini = CDbl(Me.TextBox3.Value)
maxi = CDbl(Me.TextBox4.Value)
it = maxi - mini

'CALCULS SUR LA SERIE DE DONNEES
ligfin = [A65536].End(xlUp).Row
Dim valeurs() As Single
j = 0

For i = 4 To ligfin
    Cells(i, col).Activate
    If ActiveCell.EntireRow.Hidden = False Then
        j = j + 1
        ReDim Preserve valeurs(1 To j)
        valeurs(j) = CDbl(ActiveCell.Value)
    End If
Next

moyenne = WorksheetFunction.Average(valeurs)
min_val = WorksheetFunction.Min(valeurs)
max_val = WorksheetFunction.Max(valeurs)
ecartype = WorksheetFunction.StDev(valeurs)
cp = it / (6 * ecartype)
cpk = (WorksheetFunction.Min(maxi - moyenne, moyenne - mini)) / (3 * ecartype)
 

Statistiques des forums

Discussions
312 094
Messages
2 085 244
Membres
102 833
dernier inscrit
Hassna