Formule max si Excel

Fermé
Xav - Modifié par Xav le 7/04/2010 à 17:42
jejelefou Messages postés 304 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 18 février 2016 - 9 avril 2010 à 17:18
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

jejelefou Messages postés 304 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 18 février 2016 42
8 avril 2010 à 15:24
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
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
jejelefou Messages postés 304 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 18 février 2016 42
9 avril 2010 à 16:47
Quelle est la plage de donnée à traiter?

a+

jéjé
0
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
jejelefou Messages postés 304 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 18 février 2016 42
9 avril 2010 à 17:18
Quelle est
la colonne listant ces réfs :
la colonne indiquant pour chaque réf un délai :
0