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!!
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 ?
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).
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
En tous cas, cela fonctionne sur Excel 2010 (donc normalement ca devrait aussi le faire sur 2007 non ? )