Macro Écart-Type sous condition

alexbej

XLDnaute Nouveau
Bonjour à tous,

Je cherche à construire une macro qui pourrait me donner l'écart type (fonctino StDev) d'une colonne selon plusieurs conditions (selon le même schéma que le AverageIfs). Voila mes différentes conditions:
- Ecart-type souhaité --> Colonne Emotion.RT " (Sheet (2))
- Condition 1 --> Emotion_Contexte = "surprise" (Sheet (2))
- Condition 2 --> Emotion.ACC = "1" " (Sheet (2))

Je vous joins ci-dessous le code que j'ai pour obtenir la moyenne selon ces conditions (et en pj, mon fichier). Est-ce que l'un de vous aurez une suggestion?
Merci beaucoup d'avance à tous ceux qui prendront le temps de m'aider, ou tout du moins, de me lire.

Alex

Code:
Option Explicit

Sub ExtractionDonnees2()

Dim Cel As Range
Dim Cel_1 As Range
Dim Colonne As Integer
Dim Colonne_1 As Integer

With Sheets(2)
    Set Cel = .Rows(1).Find(what:="Emotion_Contexte", LookIn:=xlValues, lookat:=xlWhole)
    If Not Cel Is Nothing Then
    
         Set Cel_1 = .Rows(1).Find(what:="Emotion.ACC", LookIn:=xlValues, lookat:=xlWhole)
         If Not Cel_1 Is Nothing Then
            
            Colonne = Cel.Column
            Colonne_1 = Cel_1.Column
            Set Cel = .Rows(1).Find(what:="Emotion.RT", LookIn:=xlValues, lookat:=xlWhole)
            
                If Not Cel Is Nothing Then
                
                Sheets(3).Cells(4, 4) = Application.AverageIfs(.Columns(Cel.Column), .Columns(Colonne), "Surprise", .Columns(Colonne_1), "1")
                                
                Else
                MsgBox "Colonne ""Emotion.RT"" introuvable"
                End If
                
            Else
            MsgBox "Colonne ""Emotion.ACC"" introuvable"
            End If
        
    Else
        MsgBox "Colonne ""Emotion_Contexte"" introuvable"
    End If
 End With
 EndSub
 

Pièces jointes

  • Test_macro.xlsm
    112.7 KB · Affichages: 60
  • Test_macro.xlsm
    112.7 KB · Affichages: 72
  • Test_macro.xlsm
    112.7 KB · Affichages: 71

Misange

XLDnaute Barbatruc
Re : Macro Écart-Type sous condition

Bonjour
Un tableau croisé dynamique te permet de faire cela très facilement, sans formule et sans macro.
Plus d'info sur ce sujet ici
Ce lien n'existe plus
Une base de données structurée un peu différemment t'aiderait à optimiser son exploitation je pense.
Ce lien n'existe plus
 

Pièces jointes

  • Copie de Test_macro.xlsm
    112.3 KB · Affichages: 42
  • Copie de Test_macro.xlsm
    112.3 KB · Affichages: 49
  • Copie de Test_macro.xlsm
    112.3 KB · Affichages: 52

alexbej

XLDnaute Nouveau
Re : Macro Écart-Type sous condition

Bonjour Misange,
Merci de ta réponse et de ta proposition. Mais je cherche vraiment à faire une macro sachant que je vais avoir une centaine de fichiers du même type à traiter (et il n'y aura pas que moi à le faire par ailleurs). Je préfère donc automatiser la procédure à l'aide d'une macro plutôt que d'avoir à faire de tels tableaux dynamiques. Par ailleurs, je ne suis pas sûr que l'écart type rentré prenait en compte mes conditions (mais je sais que je peux le faire grâce à une écriture matricielle, mais à nouveau, je préférais une macro...).

D'autres propositions? N'est-il pas possible sinon d'appeler une fonction telle que BDECARTYPE via une macro? (mes lacunaires connaissances en VB ne me permettent pas de répondre à cette question!!) Ou encore de définir la plage d'intérêt, de la sélectionner et d'y appliquer la fonction StDev? (même si, de la lecture de la syntaxe de cette expression, je crois avoir compris qu'on ne peut pas rentrer une plage de données...)

Merci beaucoup pour votre aide.
 

Discussions similaires

Réponses
2
Affichages
291

Membres actuellement en ligne

Statistiques des forums

Discussions
314 450
Messages
2 109 731
Membres
110 554
dernier inscrit
Tchana Yoba