IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

calcul médiane sur des valeurs filtrées


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut calcul médiane sur des valeurs filtrées
    Bonjour,

    J'aurais besoin de calculer une médiane sur une ensemble de valeur, en excluant celles qui sont cachées par des filtres.

    Je sais qu'il est possible de faire certaines opérations (somme, moyenne, nbval...) grâce à la fonction sous.total, mais je ne trouve pas de moyen simple pour en faire de même sur d'autres fonctions statistiques (moyenne, centiles...)

    Des suggestions?

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    As tu essayé avec les Filtres élaborés qui te permettent de copier le résultat du filtre sur une autre feuille ? Tu peux alors prévoir tes calculs sur cette "copie"

    Sinon, ça passe par du code VBA, voici un exemple pour la Mediane en considérant les valeurs en colonnes B

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub MedianFiltre()
     
    Dim r As Long, Tag As Long, DerLig As Long
    Dim LaFormule As String
     
    LaFormule = "=Median(" 'Début du texte qui fera office de formule à placer
    DerLig = Sheets("TaFeuil").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row 'Défini la dernière ligne remplie sur base de la colonne 1 (=>A)
     
    For r = 2 To DerLig 'Boucle de la 2ème (car titre) à la dernière ligne remplie.
        If Sheets("TaFeuil").Rows(r).Hidden = False Then 'Si ligne visible (avec le filtre activé),
            Tag = Tag + 1 'Tag pour définir la première ligne et donc l'absence d'une virgule
                If Tag = 1 Then
                    LaFormule = LaFormule & Cells(r, 2).Address '1 ère adaptation de la plage pour la formule
                Else
                    LaFormule = LaFormule & "," & Cells(r, 2).Address 'Adaptation de la plage pour la formule
                End If
        End If
    Next r
     
    LaFormule = LaFormule & ")" 'Finalisation de la formule
    Range("D1") = LaFormule 'Place la formule en D1
    End Sub
    Bonne continuation,

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse Fvandermeulen
    Je suis finalement passé par un tableau croisé dynamique comprenant:
    -mes filtres
    -l'échantillon de valeur dont je souhaite connaître la médiane en étiquette de ligne
    -le nombre de chaque valeur en % du total dans la section valeur du tableau : de cette colonne je peux déduire la médiane.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    la réponse a ta question était une formule matricielle:

    =MEDIANE(SI(MaColonneText="truc";MaColonneAcalculer;""))

    MaColonneText="truc" est le test correspondant à ton filtre.
    Si tu filtres sur la France sous une colonne pays de B2:B100 ça donne
    B2:B100="France".

    Ou par les plages nommées:
    Pays="France"

Discussions similaires

  1. [XL-2003] Calcul sur des valeurs non numériques
    Par Katell dans le forum Conception
    Réponses: 10
    Dernier message: 03/02/2015, 15h11
  2. [Math]Problème troncage ou arrondi sur des valeurs
    Par Carrel dans le forum Général Java
    Réponses: 6
    Dernier message: 07/10/2009, 15h11
  3. Réponses: 0
    Dernier message: 09/09/2008, 14h12
  4. Calculs sur des valeurs d'énumérés
    Par Tic_et_Tac dans le forum Ada
    Réponses: 3
    Dernier message: 20/05/2008, 23h58
  5. "Order by" sur des valeurs spécifiques
    Par damienTrax dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/11/2004, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo