Fonction qui fonctionne pas sur vba 2007: WorksheetFunction.StDev_P(range)

Toug

XLDnaute Junior
Bonjour,
Je dois rendre ma macro à mon tuteur demain et la c'est le drame:
J'ai développé sous excel2010 et lorsque j'utilise 2007 comme au boulot j'ai cette ligne qui pose problème:
Code:
Set j_ouvres = Columns("O")
stdev_j_ouvres = Application.WorksheetFunction.StDev_P(j_ouvres)

ou j_ouvres est un Range

l'érreur que j'ai est "Run-time error '438': object doesn't support this property or method

vous savez pourquoi et comment corriger le problème?
Celui qui trouve, je lui fait un bisous!!
 

kiki29

XLDnaute Barbatruc
Re : Fonction qui fonctionne pas sur vba 2007: WorksheetFunction.StDev_P(range)

Salut, inutile d'hurler car généralement ce genre d'appel entraine la réaction inverse
le message me semble suffisamment explicite, la compatibilité est ascendante et non l'inverse, donc cette fonction n'existe pas sous 2007 essaie, avec Application.WorksheetFunction.StDevP ?
 

fanfan38

XLDnaute Barbatruc
Re : Fonction qui fonctionne pas sur vba 2007: WorksheetFunction.StDev_P(range)

Bonjour
Je confirme on a pas de StDevP sous 2007
on a

Fonction STDEVA: Calcule l'écart type sur la base d'un échantillon. L'écart type mesure la dispersion des valeurs par rapport à la moyenne (valeur moyenne).

Fonction STDEVPA:
Calcule l'écart type d'une population en prenant en compte toute la population et en utilisant les arguments spécifiés, y compris le texte et les valeurs logiques. L'écart type mesure la dispersion des valeurs par rapport à la moyenne (valeur moyenne).

A+ François
 

Staple1600

XLDnaute Barbatruc
Re : Fonction qui fonctionne pas sur vba 2007: WorksheetFunction.StDev_P(range)

Bonjour à tous

Comme indiqué par kiki29 avec la bonne syntaxe cela marche mieux

Vois cet exemple ci-dessous: pour tester, lancer la macro a
Code:
Sub a()
 tStDevP True
 MsgBox "Pause"
 tStDevP False
 End Sub
Code:
Private Sub tStDevP(a As Boolean)
Dim c1 As Range, x
Set c1 = [A1:A5]
c1.FormulaR1C1 = IIf(a, "=ROW()*10^2", "=ROW()^3")
x = Application.WorksheetFunction.StDevP(c1)
MsgBox Round(x, 3), vbInformation, "Test StDevP"
End Sub
EDITION: en lisant la réponse de fanfan38 (bonjour au passage), je viens de voir qu'on parle de Excel 2007 :p
En tous cas, cela fonctionne sur Excel 2010 (donc normalement ca devrait aussi le faire sur 2007 non ? )
 
Dernière édition:

kiki29

XLDnaute Barbatruc

Pièces jointes

  • IMG791.jpg
    IMG791.jpg
    21.7 KB · Affichages: 74
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 924
Membres
103 983
dernier inscrit
AlbertCouillard