Afficher mot après avoir eu le max Excel 2010

Patrick -  
Submin Messages postés 463 Statut Membre -
Bonjour,

voici mon problème:

J'ai une colonne avec un certain nombre d'objets et en face, la quantité de chaque objet.

Dans une cellule, je souhaiterais faire apparaître le nom de l'objet dont j'en ai le plus.

exemple:

fourchette 10
couteau 8
cuillère 5

Dans la cellule apparaîtrait donc le mot 'fourchette'

Avec la fonction max il est facile de déterminer le nombre le plus grand mais je ne sais pas comment faire pour afficher à quoi il correspond .

Pourriez-vous m'aider?

Cordialement,
Patrick V.

4 réponses

  1. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    tu as deux colonnes ou une seule ?

    Parce que si tes données sont dans la colonne A et les comptages dans la colonne B, la formule suivante devrait aller (en modifiant l'étendue des plages, bien sûr) :

    =RECHERCHE(MAX(B1:B3);B1:B3;A1:A3)

    Mais si c'est dans une seule colonne, il va falloir en créer une spéciale qui contiendra la quantité

    A+ blux
     "Les cons, ça ose tout.  
    C'est même à ça qu'on les reconnait"
    1
    1. Submin Messages postés 463 Statut Membre 226
       
      C'est dans deux colonne car sinon il ne pourrait pas utilisez la fonction MAX comme il le signale...
      0
    2. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Pas faux !
      0
    3. Patrick
       
      C'est bien dans 2 colonnes. Je vais essayer de suite cette solution. Je vous tiens au courant!
      En tout cas merci de votre rapidité de réponse!
      0
    4. Pitu Messages postés 1460 Statut Contributeur 125
       
      Personnellement, je préfère utiliser la fonction EQUIV() (option 1) plutôt que RECHERCHE(), qui exige un tableau trié.
      a+
      0
    5. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Ca marche parfaitement chez moi sans que la colonne B ne soit triée (elle contient le nombre d'objets de la colonne A)...
      J'ai fait le test sur 30 lignes, ça marche dans n'importe quel ordre...
      0
  2. Pitu Messages postés 1460 Statut Contributeur 125
     
    Bonjour,

    Dans ton exemple, et si tu as 2 colonnes (objets en colonne A, nombre en colonne B, de la ligne 1 à la ligne 10), tu peux obtenir ton résultat avec la formule suivante :

    =INDEX(A1:B10;EQUIV(MAX(B1:B10);B1:B10;1);1)
    1
  3. Patrick
     
    Merci à tous pour vos réponses!

    Grâce à vous j'ai pu finir ma petite feuille excel :)

    A bientôt.
    0
  4. Submin Messages postés 463 Statut Membre 226
     
    ça se fait tres facilement par VBA en comparant l'intégralité de ton tableau et en te recreeant un autre tableau a coté avec tous tes maximums par exemple.

    D'abord tu fais un WorksheetFunction.Max histoire de connaitre ta valeur max puis ensuite tu fais une boucle for qui compare ta seconde colonne et creer ton tableau si identique ^^

    Sub TonExemple()   
        Dim LeMaxi, DerLigne, i, Tabl As Integer   
           
        Cells(1, 4) = "Résultat"   
        Tabl = 2   
        DerLigne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row   
        LeMaxi = WorksheetFunction.Max(Columns(2))   
           
        For i = 1 To DerLigne   
            If Cells(i, 2) = LeMaxi Then   
                Cells(Tabl, 4) = Cells(i, 1)   
                Tabl = Tabl + 1   
            End If   
        Next i   
    End Sub
    0