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 :

Extraire les 10 plus grandes valeurs après filtrage [XL-2003]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Extraire les 10 plus grandes valeurs après filtrage
    Bonjour à tous,

    je me trouve face à un problème que je n'arrive pas à solutionner sur Excel 2003.

    Il se trouve que j'ai dans une colonne A des nombre de 1 à 13 correspond à des critères (Type Rayon 1, Rayon 2, Rayon 3, etc.) et dans une colonne B des montants.
    Je souhaite extraire la somme d'un top 10 PAR rayon (somme du top 10 rayon 1, le top 10 rayon 2, etc.) seulement j'ai beau me triturer la tête dans tous les sens: je n'y arrive pas.
    J'ai essayé avec grande.valeur, sommeprod, somme.si, les filtres (les 10 plus grandes; mais qui me donne les 10 plus grandes de toutes mes valeurs même après filtrage de la colonne A).

    Bref si vous avez une formule Excel ou VBA (mais de préférence Excel), je suis preneur afin de résoudre.

    Merci pour votre aide.

    Cordialement,

    Thojus

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Bonjour

    pourrais-tu mettre un peu plus de données ? somme du top 10 rayon 1? plus on a d'info, plus la réponse sera précise.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour, oui cela est tout à fait possible.
    Voici un fichier ultra simplifié.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Salut voici ton fichier
    Fichiers attachés Fichiers attachés

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    J'ai téléchargé le fichier et effectivement cela fonctionne pour tous les rayons: je te remercie!

    Par contre question:
    Je vois que tu as cette formule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(GRANDE.VALEUR((A$2:A131=LIGNES($1:1))*C$2:C$131;{1;2;3;4;5}))
    Tes lignes sont limitées, mais admettons que mon document ait un nombre variable de ligne (un jour 131, l'autre peut être 160), comment peut on faire pour que la formule se modifie en sorte d'étendre la plage?

  6. #6
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    tu remplaces les plages numérique par des plages nommées
    ICI
    le site regorge de petites pépites (même des grosses )
    la plage nommée se décline en dynamique
    avec la fonction decaler dans ce style ( attention mieux vaut cliquer qu'écrire ceci évite l'oubli de $$ pour bloquer les positions des decaler dans les plages nommées dynamique)
    DECALER(C1,0,0,nbval(C1:C5000);1)

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    J'ai essayé avec ta fonction décaler (et après lecture de ton lien) mais je n'arrive absolument pas à faire une plage dynamique...

    Donc peut être une autre solution (?):
    Faire une macro qui aille sur ma cellule où sera présente la formule et lui demander d'y mettre la formule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ActiveCell.FormulaR1C1 = _
            "=SUMPRODUCT(LARGE((R2C[-5]:R32C[-5]=ROWS(R1:R[-4]))*R2C[-4]:R32C[-4],{1;2;3;4;5}))"
    Seul problème c'est qu'ici on est cantonné aux lignes 2 à 32 (R2C et R32C), alors peut être peut on choisir la ligne finale de destination via une variable (qui correspondrait à un nbval).

    Du genre un nbval en cellule C3, ma macro récupère le nombre du nbval, l'associe à une variable et choisi cette variable comme cellule de fin pour ma formule.
    Je sais pas si ça existe ça?

    EDIT= J'ai beau essayer de toute part de définir une plage de cellule avec la fonction décaler, ça ne fonctionne absolument pas ma plage existe mais ne corespond à aucune cellule. J'ai pourtant recopié de manière exacte les formules de plusieurs sites et rien à faire...
    En revanche si je sélectionne une plage et la créée à partir de la sélection ça fonctionne. Je ne comprends vraiment rien à ces histoires de plages......
    Je fais pourtant bien Insertion>nom>définir
    J'écris un nom, puis la référence (=DÉCALER($B$2;0;0;COMPTE($B$2:$B$200);1)) par exemple, mon nom existe bien mais aucune cellule n'y est associé. En gros j'ai un nom vide.

    J'ai beau essayer avec toutes les décaler, nbval et autre possible rien à y faire

  8. #8
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Hello

    Je te remets ton fichier. Tu verras la différence dans ta cellule F5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(GRANDE.VALEUR((Rayon=LIGNES($1:1))*Stock;{1;2;3;4;5}))
    Rayon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$A$2;;;NBVAL(Feuil1!$A:$A)-1;1)
    Stock :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$C$2;;;NBVAL(Feuil1!$C:$C)-1;1)
    Fichiers attachés Fichiers attachés

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Ah ça y est, ça fonctionne!

    Un grand merci à vous tous j'ai enfin réussi à débloquer la situation concernant ce soucis.

    Je vous souhaite une bonne journée!

  10. #10
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par thojus Voir le message
    Bonjour,

    J'écris un nom, puis la référence (=DÉCALER($B$2;0;0;COMPTE($B$2:$B$200);1)) par exemple, mon nom existe bien mais aucune cellule n'y est associé. En gros j'ai un nom vide.

    J'ai beau essayer avec toutes les décaler, nbval et autre possible rien à y faire

    le gag d'excel dans les champs noms =DÉCALER('FeuilX!$B$2;0;0;NBVAL('FeuilX!$B$2:$B$200);1)) sinon la fonction perds son ...latin dirons-nous c'est pourquoi je conseille le clic pour trouver la cellule de départ

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. extraire les 5 plus grandes valeurs d'un tableau
    Par Lekno dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 17/10/2013, 11h27
  2. determiner les 3 plus grandes valeurs numeriques du for-each
    Par makohsarah dans le forum Struts 1
    Réponses: 1
    Dernier message: 15/06/2008, 16h37
  3. trouver les 10 plus grandes valeurs
    Par audrey2112 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/11/2007, 11h30
  4. isoler les 2 plus grandes valeurs d'une liste
    Par marlene.ln dans le forum Access
    Réponses: 3
    Dernier message: 29/01/2007, 10h22
  5. [Debutante] trouver les 5 plus grandes valeurs
    Par Sarrus dans le forum Langage SQL
    Réponses: 11
    Dernier message: 25/07/2005, 15h39

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