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

  • Initiateur de la discussion Initiateur de la discussion Toug
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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!!
 
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).

A+ François
 
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 ? )
 
Dernière édition:

Pièces jointes

  • IMG791.jpg
    IMG791.jpg
    21.7 KB · Affichages: 76
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour