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 :

formule pour avoir le top 3 des articles les plus vendus [XL-365]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    adjoint administratif
    Inscrit en
    Novembre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : adjoint administratif
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2020
    Messages : 37
    Points : 23
    Points
    23
    Par défaut formule pour avoir le top 3 des articles les plus vendus
    Bonsoir,

    J'ai trouver un tutoriel qui explique comment faire le top 3 des articles, mais, lorsque je fais la formule, cela me donne comme résultat : #EPARS!.

    Je vous met la formule

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =si([colonne1]="Sortie";NB.SI.ENS([colonne1];"Sortie";[nombre];">"&[@nombre])+1;"")

    Une chose que je ne comprend pas. C'est comment pour chaque articles qui est sortie a des moments différents cela les additionne et donne celui qui est le plus sortie, le 2ème et le 3ème.Si cela ne prend pas en compte les différents type d'articles.

    Comme je l'ai déjà dis dans une autre discussion, je suis rouillé et novice avec excel.
    C'est un travail que je fais dans un de mes cours, car c'est un mandat de consultation pour aider une vrai compagnie à améliorer son système. Je dois présenter ses améliorations pour le 2 décembre et je n'ai trouvé nul part de solution ou une compréhension

    Merci de votre réponse et si possible d'une solution

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 754
    Points : 28 605
    Points
    28 605
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En ce qui concerne #EPARS!, cette contribution Comment éviter le message d'erreur #EPARS! vous aidera peut-être

    La syntaxe corrigée ci-dessous vous évitera le message d'erreur mais je ne peux vous garantir l'exactitude du calcul ne connaissant pas l'organisation de vos données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =@SI([Colonne1]="Sortie";@NB.SI.ENS([Colonne1];"Sortie";[Nombre];">"&[@Nombre])+1;"")
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Salut.

    Ta formule semble être placée dans le tableau lui-même. Est-ce ton souhait?

    Ici, j'illustre comment on peut, en XL 365!, récupérer le top 3 d'une série de valeurs selon une condition. On va forcer la plage dynamique (exclusivité 365) en bouclant sur les trois premières lignes de A. On n'utilise pas les valeurs de A1:A3, mais simplement la ligne pour induire la matricielle qui va créer la plage dynamique.

    =GRANDE.VALEUR(SI(A2:A6="sortie";B2:B6);LIGNE(A1:A3))

    Nom : 2020-11-22_090511.png
Affichages : 656
Taille : 8,2 Ko


    On peut utiliser la même technique "hors 365", mais on ne profite plus de la plage dynamique. Il faut alors sélectionner les 3 cellules qui vont recevoir les valeurs, et valider la formule donnée plus haut en matricielle (SHIFT+CTRL+ENTER)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre à l'essai
    Femme Profil pro
    adjoint administratif
    Inscrit en
    Novembre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : adjoint administratif
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2020
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    Merci pour vos réponses rapide,

    voici une image du tableau

    Nom : Top 3.png
Affichages : 649
Taille : 46,5 Ko

    comme vous voyez, j'ai des articles avec des codes différents, qui peuvent sortir a des moments différents. je veux faire un top 3 en indiquant le 1er, le 2ème et le 3ème dans la colonne ranking car dans une autre page du classeur, j'ai une formule qui me sort le nom des 3 articles les plus vendu. Si vous avez une autre solution. la solution du @ n'a pas fonctionné. je n'ai aucune valeur qui s'est affichée

    pour l'autre choix, oui il serait mieux que cela soit dans le même tableau, mais si je n'ai pas d'autre choix, je pourrais faire un tableau dynamique et le faire caché pour qu'il ne puisse être vus


    Merci

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Oska-Kajal Voir le message
    [...]
    pour l'autre choix, oui il serait mieux que cela soit dans le même tableau, mais si je n'ai pas d'autre choix, je pourrais faire un tableau dynamique et le faire caché pour qu'il ne puisse être vus[...]
    si le but est de les récupérer dans un autre tableau (j'imagine avec 3 lignes pour le top 3), tu pourrais utiliser ma seconde solution (matricielle validée sur les trois lignes) dans ce second tableau. Ca éviterait la colonne dans le tableau de départ juste pour y avoir le ranging de trois articles.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre à l'essai
    Femme Profil pro
    adjoint administratif
    Inscrit en
    Novembre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : adjoint administratif
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2020
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    Ce n'est pas les valeurs que je recherche mais le nom des articles qui sont les plus vendue. Si avec la formule je peux avoir les nom et nom le nombre cela c'est correcte, je vass voir si je peux modifier la formule pour avoir les noms. Si vous savez comment faire je suis preneuse, car c'est le dernier point qui me reste pour le classeur.

    Merci énormément

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Solution simple par Power Query:
    • Récupérer le tableau dans Power Query;
    • filtrer sur les sorties;
    • Trier sur les valeurs par ordre décroissant;
    • Supprimer les colonnes Inutiles;
    • Via un clic droit sur l'icône de la table, conserver les 3 premières lignes;
    • Renvoyer dans Excel.


    Code Power query : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    let
        Source = Excel.CurrentWorkbook(){[Name="Tableau2"]}[Content],
        #"Adapter Types" = Table.TransformColumnTypes(Source,{{"Type", type text}, {"Nom", type text}, {"Valeur", Int64.Type}}),
        #"Filtrer Lignes" = Table.SelectRows(#"Adapter Types", each ([Type] = "Sortie")),
        #"Trier Lignes" = Table.Sort(#"Filtrer Lignes",{{"Valeur", Order.Descending}}),
        #"Supprimer Colonnes" = Table.RemoveColumns(#"Trier Lignes",{"Valeur", "Type"}),
        #"Filtrer Top3" = Table.FirstN(#"Supprimer Colonnes",3)
    in
        #"Filtrer Top3"


    En Excel pur...

    • Utiliser une plage temporaire éventuellement sur une feuille masquée, dont on nomme la première cellule (par exemple Top_3);
    • Cette plage temporaire reçoit la plage dynamique créée par la formule =TRIER(FILTRE(Tableau2;Tableau2[Type]="sortie");3;-1) (sur base de mon tableau, à adapter à ta situation)
    • Grâce à DECALER, on récupère les trois premières lignes de la colonne souhaitée en utilisant Top_3# qui pointe vers la plage dynamique.




    Nom : 2020-11-22_205443.png
Affichages : 601
Taille : 161,5 Ko


    Bien entendu, j'ai tout mis ici sur la même feuille, mais tu peux réagencer sur des feuilles différentes du classeur.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Membre à l'essai
    Femme Profil pro
    adjoint administratif
    Inscrit en
    Novembre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : adjoint administratif
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2020
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    Désolé je crois que je n'ai pas été assez clair. dans mon tableau les articles sont sortie a différents moments donc on peut retrouver plusieurs sortie d'un article. J'aimerais additionner toute les sorties de ses articles et avec cela déterminer mon top 3. ce n'est pas celui qui est sortis le plus en une fois mais l'addition de toute les sorties. La formule que j'i inscrite au début devait faire cette fonction au départ. sur le tuto cela marchait, mais lorsque je le fait cela me donne une erreur. donc je me demande s'il n'y a pas une voie de contournement a se problème. je ne connais pas power query et je ne suis pas sûr que cela va me donner ce que je recherche, après recherche sur ce que fait celui-ci mais je peux me tromper.

    merci encore de votre temps et aide

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Power Query permet cela et bien plus encore. Il "suffit" d'insérer le regroupement sur les articles avant de trier et d'établir le top 3

    Nom : 2020-11-23_083632.png
Affichages : 570
Taille : 14,5 Ko

    Code Poqer Query : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    let
        Source = Excel.CurrentWorkbook(){[Name="t_Mouvements"]}[Content],
        AdapterTypes = Table.TransformColumnTypes(Source,{{"Article", type text}, {"Date", type date}, {"Type", type text}, {"Qté", Int64.Type}}),
        FiltrerSorties = Table.SelectRows(AdapterTypes, each ([Type] = "Sortie")),
        RegrouperArticles = Table.Group(FiltrerSorties, {"Article"}, {{"Qtés", each List.Sum([Qté]), type nullable number}}),
        TrierTQuantités = Table.Sort(RegrouperArticles,{{"Qtés", Order.Descending}}),
        ConserverTop3 = Table.FirstN(TrierTQuantités,3)
    in
        ConserverTop3

    Nom : 2020-11-23_084657.png
Affichages : 588
Taille : 2,1 Ko

    Tu peux t'inspirer du classeur suivant. Dans Power Query, tu peux aller sur chaque étape dans le panneau de droite pour voir le déroulé de la solution => PowerQuery-Top3.xlsx

    Tu pourrais faire le regroupement par année, par mois, par jour de la semaine pour voir si tu vends plus le lundi ou le samedi, Faire varier le X du Top X au départ d'Excel (Top 3, Top 5, Top 10) etc, etc... Power Query est vraiment un outil qui va permettre une analyse rapide des données (En comptant l'établissement du classeur et la rédaction de ce message, ça m'a pris 10 minutes) Power Query est un outil qui peut être découvert lorsque l'on est curieux

    Note que sans Power Query, tu peux réaliser une opération similaire avec un simple tableau croisé dynamique

    Nom : 2020-11-23_085201.png
Affichages : 555
Taille : 3,4 Ko


    J'ai écrit un billet de blog qui détaille la façon de faire varier le X du Top X

    PS: Une explication complète de ton problème et de tes attentes aurait permis de répondre bien plus rapidement à ta question
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Membre à l'essai
    Femme Profil pro
    adjoint administratif
    Inscrit en
    Novembre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : adjoint administratif
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2020
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    Je vous remercie. Et oui avec plus de précision cela aurait été plus rapide.
    Je me demande s'il y a un endroit qui m'explique comment fonctionne Power query, car je ne comprend pas comment vous êtes arrivé a cela.
    Déjà que je ne connaissais pas les macro alors celui-ci c'est pire.
    Les ligne de code je les inscrit où etc....


    Désolé pour le dérangement



    Je Crois que je viens de trouver comment utilisé Power query en espérant que cela fonctionne.

    j'ai réussi à le faire, je vous remercie M. Fauconnier. Une chose que je me demande, c'est de savoir si il y a des ajouts de données dans le tableau, est ce que cela va s'ajuster automatiquement??? Si oui youppi

  11. #11
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Désolé. D'habitude, je mets au moins une image qui montre comment on intègre un tableau dans Power Query. Mais ce qui est chouette, c'est que tu as trouvé

    La mise à jour n'est pas automatique mais consiste uniquement en 1 clic droit sur le tableau de résultat du top 3 puis Actualiser

    Nom : 2020-11-24_050304.png
Affichages : 581
Taille : 12,4 Ko


    Bonne continuation avec Power Query
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/05/2015, 16h26
  2. Réponses: 37
    Dernier message: 12/08/2014, 22h25
  3. [XL-2002] Top 10 des mots les plus fréquent dans une colonne de mots
    Par _gege_ dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/07/2010, 23h20
  4. top 10 des requêtes les plus longues
    Par cseguino dans le forum Administration
    Réponses: 1
    Dernier message: 10/02/2010, 09h46
  5. Réponses: 9
    Dernier message: 30/01/2007, 17h03

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