Bonjour,
Vous avez une possibilité en matricielle :
=MAX(SI($A$1:$A$6=D5;$B$1:$B$6))
où D5 a la valeur de l'index.
Sinon, avec un for each, à essayer :
Function MAX_SI(Plage_condition as range, Condition, Plage_Renvoi as range) as Double
Dim Pos%
for each cell in Plage_condition 'pour chaque cellule
Pos = Pos + 1 'incrémentation de la position
if cell.value = Condition then 'si la valeur de la cellule est l'index
MAX_SI = application.max(MAX_SI, Plage_Renvoi.cells(Pos).value) 'MAX_SI renvoie le max entre la cellule correspondante en Plage_Renvoi et la valeur déjà contenue dans MAX_SI
end if
next cell
End function
à saisir de la sorte sur excel :
=MAX_SI($A$1:$A$6;D5;$B$1:$B$6)
Cdlt,