Ecart type (différentes feuilles avec Index Equiv)

  • Initiateur de la discussion Initiateur de la discussion sishley
  • 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 !

sishley

XLDnaute Nouveau
Bonjour le forum

Je m'excuse de vous déranger, je bloque encore après 2 jours de recherche infructueuses (que voulez vous quand on est noob on est noob). 🙁

Je cherche à calculer un écart-type (même si les stasticiens verront immédiatement que la taille de l'échantillon ne me permet pas de faire quelque chose de rigoureux (les objets étudiés sont tres tres cher et donc rare)), les valeurs sont dans un autre classeur sur les feuilles de ce classseur.

Cependant, ça serait trop simple sinon 🙄, les feuilles ne contiennent pas nécessairement une valeur. Je suis donc obligée de passer par Index et Match.

J'ai essayé plusieurs formules :
Celle-ci présente dans ma feuille:
"Function ecartype6B(c2 As Range) As Double
Dim t As String, w As Worksheet, s As Double, n As Long
Dim u As Variant
Dim e As Double
Dim i As Long
'Application.Volatile
t = "*" & Trim(c2) & "*"
For Each w In Workbooks("exempledonnees.xlsx").Worksheets
s = s + Application.SumIf(w.[E:E], t, w.[O:O])
n = n + Application.CountIf(w.[E:E], t)
Next
For Each w In Workbooks("exempledonnees.xlsx").Worksheets
Set u = WorksheetFunction.Index(Rw.[O:O], WorksheetFunction.Match(c2, Workbooks("exempledonnees.xlsx").w.[E:E], 0))
If Not u Is Nothing Then
e = ((u - (s / n)) ^ 2) + e
End If
Next
ecarttype6B = Sqr(e)
End Function"


J'ai aussi essayé avec (à la barbare):
"Set x = Application.WorksheetFunction.StDev.s(WorksheetFunction.Index(Rw.[O:O], WorksheetFunction.Match(c2, Workbooks("6B.xlsx").w.[E:E], 0)))"

Ou plus bizare (c'est la variance qui est codée en réalité) :
"Set x = WorksheetFunction.Index(Rw.[O:O], WorksheetFunction.Match(c2, Workbooks("6B.xlsx").w.[E:E], 0))
If MoyenneRecherche6B > 0 Then (Moyenne 6B c'est le S/N du code précedent)
For Each x In Workbooks("6B.xlsx").Worksheets
If x = True Then
e = Application.Sum((x - MoyenneRecherche6B) ^ 2)
ecartype6B = x
End If
Next
End If"

Pourriez vous me débloquer s'il vous plait ? Merci par avance
 

Pièces jointes

Re : Ecart type (différentes feuilles avec Index Equiv)

J'ai résolu mon probleme j'ai du modifier mon fichier cible. Voila ma nouvelle formule en cas ou quelqu'un en aurait besoin:
"Function ecartype9(c2 As Range) As Double
Dim t As String, w As Worksheet, s As Double, n As Long
Dim t2 As String
Dim u As Double
Dim ei As Double
Dim e As Double
Dim i As Long
'Application.Volatile
t = "*" & Trim(c2) & "*"
t2 = Trim(c2)
For Each w In Workbooks("exempledonnees.xlsx").Worksheets
s = s + Application.SumIf(w.[E:E], t, w.[O:O])
n = n + Application.CountIf(w.[E:E], t)
Next
ei = s / n
u = 0
For Each w In Workbooks("exempledonnees.xlsx").Worksheets
e = Application.WorksheetFunction.Index(w.[A😛], WorksheetFunction.Match(t2, w.[E:E], 0), 15)
u = u + ((ei - e) ^ (2))
Next
ecartype9 = ((u) / n) ^ (1 / 2)
End Function"
 
- 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

Discussions similaires

Réponses
5
Affichages
241
Réponses
2
Affichages
203
Réponses
4
Affichages
179
Réponses
5
Affichages
233
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
318
Retour