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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Pharmacien
    Inscrit en
    novembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Pharmacien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : novembre 2018
    Messages : 12
    Points : 13
    Points
    13

    Par défaut Afficher une ligne en fonction de la valeur d'une cellule

    Bonjour à tous,

    Je rencontre une problématique que je ne parviens pas à résoudre avec mes (maigres) connaissances sur Excel (mais elles sont en développement !! ) et pour laquelle je n'ai pas trouvé de réponse nulle part, malheureusement. Je m'en remets donc à vous !

    J'ai un tableau construit de la sorte :
    Nom : Capture.PNG
Affichages : 85
Taille : 6,7 Ko

    Et ce, sur plus de 50 000 lignes. Existe-t-il un moyen de n'afficher, pour chaque référence, que la ligne ayant l'indice le plus élevé ?

    Un énorme merci d'avance pour votre aide qui, une nouvelle fois, me permettrai de gagner un temps précieux.

  2. #2
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Auditeur
    Inscrit en
    juillet 2012
    Messages
    7 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Auditeur
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2012
    Messages : 7 063
    Points : 71 944
    Points
    71 944
    Billets dans le blog
    15

    Par défaut

    Salut,

    Je pense qu'un Tableau Croisé Dynamique devrait te permettre d'obtenir le résultat attendu.
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    12 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 12 619
    Points : 25 794
    Points
    25 794

    Par défaut

    Le tableau croisé dynamique est certainement la meilleure option.

    Mais si tu veux une alternative, tu peux faire "à côté" un autre tableau ne comportant qu'une ligne par référence (Copier/Coller + Supprimer les doublons) et utiliser une fonction MAX.SI() pour connaitre le max de chaque référence.
    https://support.office.com/fr-FR/art...b-9b6376b28883

    Edit : je retire ce que je viens d'écrire, je n'avais pas vu que tu étais en 2013 et MAX.SI n'est disponible qu'à partir de la 2016.
    Cette méthode reste possible mais il faudrait passer par une fonction matricielle du style =MAX(SI(A$2:A$50000=E2;C$2:C$50000;0))
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Pharmacien
    Inscrit en
    novembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Pharmacien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : novembre 2018
    Messages : 12
    Points : 13
    Points
    13

    Par défaut

    Menhir, Malick,

    Merci beaucoup pour vos réponses.

    Malheureusement, le tableau croisé dynamique ne me semble pas possible car excel m'indique qu'il ne "dispose pas des ressources nécessaires pour traiter les données".

    En ce qui concerne la formule proposée, voici le code que j'ai entré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=MAX(SI(Feuille1!A:A=Feuille3!A:A;Tableau1[@INDICE];0))}
    La colonne A de la feuille 1 contient les références sur le tableau source ; la colonne A de la feuille 3 contient les références dont j'ai supprimé les doublons.

    Cela m'avance un peu dans mon problème mais pas totalement car il faudrait que la "valeur_si_vrai" de la fonction SI soit liée à la référence, hors là j'obtiens des valeurs mais en vérifiant il s'avère que cela ne correspond pas aux valeurs max de chaque référence... Mais je ne vois pas où est mon erreur.


    Merci encore pour votre aide !!

  5. #5
    Membre émérite Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    décembre 2013
    Messages
    1 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2013
    Messages : 1 452
    Points : 2 351
    Points
    2 351

    Par défaut

    Bonjour
    Voir la fonction EXCEL BDMAX, (='BDMAX(A1:C20;G1;E1:E2)) elle est dédiée pour ce genre de travail
    Un fichier exemple ci joint :
    Fichiers attachés Fichiers attachés
    Un peu d'aide nous fait grand bien, un second sert de soutien........BIEN A VOUS ("ABDOU LETUNISIEN")

  6. #6
    Membre à l'essai
    Homme Profil pro
    Pharmacien
    Inscrit en
    novembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Pharmacien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : novembre 2018
    Messages : 12
    Points : 13
    Points
    13

    Par défaut

    Excellent, merci beaucoup BENNASR pour ton aide ! Ton fichier me permet d'extraire l'information voulue très rapidement.

    Pour ceux qui auraient rencontré le même problème, je viens également de réussir à modifier la fonction MAX SI pour obtenir le résultat voulu en entrant la formule suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=MAX(SI(Feuille3!A1=Feuille1!A:A;Feuille1!C:C;0))}
    Feuille3!A1 renvoie à la référence dans la liste extraite et sans doublons, Feuille1!A:A renvoie à la colonne contenant les références dans la base de données complète, et Feuille1!C:C renvoie à la colonne contenant les indices dans la base de données complète.

    En validant en matricielle, j'obtiens bien les indices max correspondants à chaque référence !

    Merci à tous pour votre aide et votre temps !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/12/2017, 10h05
  2. afficher et masquer des lignes en fonction de la valeur d'une cellule
    Par kif550 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/05/2017, 07h01
  3. Réponses: 2
    Dernier message: 25/01/2017, 15h22
  4. [XL-2010] Supprimer des lignes en fonction de la valeur de la cellule de deux colonnes
    Par jérémyp8 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 18/07/2013, 09h25
  5. [XL-2010] supprimer des lignes en fonction de la valeur de la cellule d'une colonne
    Par psylo24 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2012, 13h09

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