Formule max si Excel

Xav -  
jejelefou Messages postés 310 Statut Membre -
Bonjour à tous :)

J'ai un problème de formule pour lequel je ne trouve pas de solution parmi les cas solutionnés et répertoriés dans votre forum :
Je cherche à faire apparaitre dans une cellule, la valeur max de chaque occurence.
Pour être + claire, voici le format de la bdd :
Col A / Col B / Col C
X 30
Y 0
X 10
E 20
Z 5
R 70
Y 100
R 20

Je veux indiquer automatiquement dans une cellule la val max de chacune de ces occurences. Manuellement, voici le résultat :
X 30
Y 100
E 20
R 70

Je veux appliquer le même raisonnement sur la valeur moyenne de chaque occurence, au lieu de la val. max.
Merci pour votre aide
Xav

1 réponse

  1. jejelefou Messages postés 310 Statut Membre 42
     
    Bonjour combien as tu de lignes à traiter?

    merci

    je vais te donner un vb qui le fait avec nbligne arbitrement mis à 100 que tu pourras changer à ta guise.

    Sub VALMAX()
    nbligne = 100

    'Pour trouver toutes les occurences que je mets en colonne 4
    nbval = 1
    For i = 1 To nbligne
    a = Cells(i, 1).Value
    trouve = 0
    If i > 1 Then

    For j = 1 To (i - 1)
    If Cells(j, 1).Value = a Then
    trouve = 1
    End If
    Next
    End If
    If trouve = 0 Then
    Cells(nbval, 4).Value = a
    nbval = nbval + 1
    End If

    Next

    'pour trouver les valeurs max de chaque occurence
    For i = 1 To nbval
    a = 0
    For j = 1 To nbligne
    If Cells(i, 4).Value = Cells(j, 1).Value And Cells(j, 2).Value > a Then
    a = Cells(j, 2).Value
    End If
    Next
    Cells(i, 5).Value = a
    a = 0
    Next

    ' pour trouver la moyenne
    For i = 1 To nbval
    a = 0
    b = 0
    For j = 1 To nbligne
    If Cells(i, 4).Value = Cells(j, 1).Value Then
    a = Cells(j, 2).Value + a
    b = b + 1
    End If
    Next
    Cells(i, 6).Value = a / b
    a = 0
    Next

    End Sub

    bonne chance

    jeje
    0
    1. Xav
       
      merci jeje mais comme je suis vraiment une brèle avec VB, j'arrive pas à utiliser ta formule dans le panneau VB d'Excel et le faire pointer sur mes données.
      Peux-tu m'expliquer ? les données appartiennent à d'autres utilisateurs, donc fichiers sources Excel externes et non modifiables (ou très peu).
      Aurais-tu une formule "classique" à mettre dans une cellule Excel du fichier source ?
      Merci par avance quel que soit tes réponses :)
      Xav
      0
    2. jejelefou Messages postés 310 Statut Membre 42
       
      Quelle est la plage de donnée à traiter?

      a+

      jéjé
      0
    3. Xav
       
      Pas simple de te répondre mais en gros :
      Dans un tableau de résultat, j'ai une colonne consolidée composée d'une liste de réfs
      Pour chaque réf je souhaite connaitre la val max et moyenne provenant d'une plage de données qui comprend à chaque fois :
      - une colonne listant ces réfs
      - une colonne indiquant pour chaque réf un délai

      Le nbre de lignes peut atteindre 500.
      Une réf peut donc se répeter 100 fois par exple : je veux reprendre le délai max de chaque réf et son délai moyen dans le tableau de résultats.
      J'ai essayé avec la formule max. si et apparenté mais sans succés (recherche V avec max). Mais je suis pas doué non plus avec les fonctions Excel combinées.
      L'automate est censé chercher chaque réf dans la plage de données et ne ressortir que la val max et calculer la val moyenne.
      J'espère que c'est clair....
      Merci
      Xavier
      0
    4. jejelefou Messages postés 310 Statut Membre 42
       
      Quelle est
      la colonne listant ces réfs :
      la colonne indiquant pour chaque réf un délai :
      0