Fonction ou macro en VBA max if

Résolu/Fermé
H5000 Messages postés 5 Date d'inscription mercredi 13 mars 2013 Statut Membre Dernière intervention 18 mars 2013 - 13 mars 2013 à 01:23
H5000 Messages postés 5 Date d'inscription mercredi 13 mars 2013 Statut Membre Dernière intervention 18 mars 2013 - 13 mars 2013 à 21:55
Bonjour,

je suis débutant sur vba et je souhaiterais créer une fonction ou macro qui me récupère le max d'une plage avec un critère donné .Je sais le faire en Excel et je souhaiterais le faire en VBA:
value1 value2 résultat souhaité
marc 5 5
marc 2 5
marc 4 5
jo 6 6
jo 2 6
elise 8 9
elise 9 9

j'ai essayé de le faire mais ça ne marche pas.
aussi ,je ne sais jamais s'il vaut mieux utiliser une fonction ou un sub ?

j'ai nommé ma feuille"test" et voici mon code :
Function maxif(r As Range)
Dim i As Integer

For i = 2 To ubound(r)

If Sheets("test").cells(i + 1, 1).Value = Sheets("test").celles(i, 1).Value Then


If Sheets("test").cells(i + 1, 1).Value > Sheets("test").cells(i, 1).Value Then

maxif= Sheets("test").cells(i + 1, 1).Value
End If
End If
Next

End Function


si vous avez un autre code à proposer ou des conseils ,je vous en remercie d'avance.


6 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
13 mars 2013 à 11:01
2
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
13 mars 2013 à 12:49
Bonjour Lhermite,

Bravo,très élégante fonction, je te plussoie

cordialement
0