Formules MAX,MIN se referant à un pivot table

Bonjour,

J'ai créé un pivot table qui sera régulièrement actualisé et qui va contenir beaucoup de lignes et de colonnes.

Je souhaiterais placer un encart au dessus de mon pivot pour indiquer la valeur maximum, minimum, moyenne et mediane pour chaque colonne.

Mon problème est que mon tableau va s'agrandir (ou se retrecir, en fonction des filtres) donc MAX (D25:D100) ne fonctionnera pas pour deux raisons:

1. parceque la plage de données serait fixe dans ce cas

2. parceque cela prendrait en compte la ligne de total (je souhaite garder cette ligne)

cf screenshot en pièce jointe. PS: je travaille sous excel 2013

Auriez-vous une idée?

Merci d'avance pour votre aide!

tr

Bonjour,

@+

Bonjour,

Une proposition pour le principe à étudier...

A te relire.

Cdlt.

14bliblabloup.xlsm (42.44 Ko)
Private Sub Worksheet_Activate()
Dim pt As PivotTable
Dim lRow As Long
Dim Cell As Range, Rng As Range, Rng2 As Range
    Application.ScreenUpdating = False
    Set pt = Me.PivotTables(1)
    With pt
        .PivotCache.MissingItemsLimit = xlMissingItemsNone
        .PivotCache.Refresh
        .ClearAllFilters
        lRow = .DataBodyRange.Rows.Count - 1
    End With
    Set Rng = pt.ColumnRange.Offset(1, 0). _
              Resize(pt.ColumnRange.Rows.Count - 1, pt.ColumnRange.Columns.Count)
    For Each Cell In Rng
        Set Rng2 = Cell.Offset(1, 0).Resize(lRow)
        Cells(2, Cell.Column) = WorksheetFunction.Max(Rng2)
        Cells(3, Cell.Column) = WorksheetFunction.Min(Rng2)
        Cells(4, Cell.Column) = WorksheetFunction.Average(Rng2)
        Cells(5, Cell.Column) = WorksheetFunction.Median(Rng2)
    Next
    Set Rng2 = Nothing: Set Rng = Nothing
    Set pt = Nothing
End Sub

Bonjour Jean-Eric,

Merci pour ta réponse rapide!

A vrai dire, je pensais que ce serait plus simple N'est-il pas possible de régler ce problème avec une simple formule du type DECALER ou peut etre avec power pivot?

Je ne suis pas pro d'Excel. Où devrais.je saisir ce code? De quel type de code sagit-il?

RE,

J'ai pris le temps de te répondre, car j'ai eu un cas peu ou prou identique à traiter.

Maintenant, si tu veux une solution par formule, ou un complément d'informations sur ma proposition, je t'enjoins à joindre un fichier à ta demande.

Le forum ne travaille pas à partir d'une image.

Cdlt.

Mon fichier est trop gros, j essaierai de le renvoyer ce soir.

Sinon je peux essayer avec ta solution mais il faut que tu m expliques où je dois rentrer ce code

Très bonne journée


Mon fichier est trop gros, j essaierai de le renvoyer ce soir.

Sinon je peux essayer avec ta solution mais il faut que tu m expliques où je dois rentrer ce code

Très bonne journée

bonjour

la fonction SOUS.TOTAL(qui opere sous filtre) ;avec ses nonmbreux n°_fonction (voir aide) doit pouvoir apporter une solution soit en calcul direct ou en fourniture de parametres dans le cadre d'un nommage dynamique (=DECALER.....)

cordialement

Re,

En attendant un fichier, et pour aller dans le sens de tulipe_4,, pour l'utilisation de formules, il faut savoir que les versions d'Excel 2010+ disposent de la fonction AGREGAT, fonction méconnue, mais...

C'est la fonction SOUS.TOTAL avec des options supplémentaires.

Cdlt.

bonjour Jean Eric

AGREGAT connait pas ; ou alors sous forme de matriau : sable ,cailloux;.....

cordialement

Bonjour,

je vous envoie une version "light" en pièce jointe.

8je2.xlsx (0.96 Mo)

Bonjour,

Ton fichier en retour.

Cdlt.

16je2.xlsx (0.97 Mo)

Bonjour Jean-Eric,

Merci beaucoup pour ton retour avec la formule agregat (array).

Malheureusement je n'arrive pas à reproduire cet exemple. Tu prends certainement C21car c'est la premiere cellule de données du pivot mais d où vient le "d.fin-21+1"?

Mon vrai pivot s'etend de B25 à O57 en ce moment. Quand j'essaie d adapter ta formule, j'ai toujours une erreur:#NAME?

J'ai googlé mais je n'ai rien trouvé avec d.fin

Bonjour,

Dans mon fichier :

1 - d.fin est le numéro de la dernière ligne qui comporte une donnée numérique (Champ Date Time ; colonne B), soit la ligne 39.

d.fin =EQUIV(9,99E+307;Tabelle1!$B:$B;1)

2 - Le nombre 21 correspond à la première ligne de données du TCD, soit la ligne de départ la plage à évaluer

3 - d.fin - 21 +1 = 39 - 21 + 1 = 19 est le nombre de données de la plage à évaluer.

4 - DECALER(C$21;0;0;d.fin-21+1;1)) est la plage à évaluer soit C$21:C39.

Est ce plus clair ?

Cdlt.

Nota : il ne faut pas de données numériques en colonne B sous le TCD

Bonjour,

Super, ca marche!

Merci beaucoup pour ton aide

Rechercher des sujets similaires à "formules max min referant pivot table"