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
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
A voir également:
- Formule max si Excel
- Formule excel si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Mise en forme conditionnelle excel formule si - Guide
- Formule excel - Guide
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
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
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
9 avril 2010 à 16:00
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
9 avril 2010 à 16:47
a+
jéjé
9 avril 2010 à 17:13
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
9 avril 2010 à 17:18
la colonne listant ces réfs :
la colonne indiquant pour chaque réf un délai :