Formule equation.rang + Si

Bonjour à tous je cherche à trouver une formule pour le tableau ci-dessous. J'ai une contrainte à appliquer c'est que le critère de la colonne O doit être Oui pour que la personne colonne Q puisse rentrer dans le classement.

Voici ma formule pour le critère de la colonne O =SI(K5>=90%;"OUI";"NON") Il faut donc être au minimum à 90% en colonne K pour participer au classement.

Ensuite le classement doit se faire du meilleur au moins bon pour les 12 premiers uniquement, là j'ai ma formule =EQUATION.RANG(R5:R42;R5:R42;0) et le montant attenant avec la recherche V dans mon onglet sheet1 qui détermine les montants pour les 12 places =SIERREUR(RECHERCHEV(S5;Sheet1!A:B;2;FAUX);"")

Pour chaque calcul je pense avoir les bonnes formules mais je n'arrive pas à cumuler les différentes contraintes. Help me please

image image

Tu peux imbriquer 2 fonctions si, mais je sais pas si ça repondra a ton problème exemple:

Si K5 = oui alors mettre la formule rang sinon mettre "NON CLASSÉ"

ce qui donnerait:

=SI(SI(K5>=90%;"OUI";"NON")="OUI", EQUATION.RANG(R5:R42;R5:R42;0), "NON CLASSÉ")

A placer dans colonne S

Mais a mon avis comme tu l'exprime (la personne doit avoir +90% pour "RENTRER" dans le classement)

Ce qui veut dire que tu veux trier, et inscrire seulement ceux qui ont plus de 90% dans ton nouveau tableau, alors une formule risque d'être pas suffisante, je pense qu'il faut passer par une macro.

Merci mais la formule proposée ne fonctionne pas du tout

Mince, je l'ai écris depuis mon smartphone donc non testée, par contre j'ai vue que j'avais oublié les cellules relatives et absolu.

=SI(SI($K5>=90%;"OUI";"NON")="OUI", EQUATION.RANG($R$5:$R$42;$R$5:$R$42;0), "NON CLASSÉ")

en collant celle ci en S5 et ensuite en l'étirant jusqu'à la ligne 42 du coup ?

Sinon cette macro devrait répondre à ton besoin, (elle marche je viens de tester sur mon pc) il faut la coller dans la feuille ou se trouve ton classement ou dans un module, tu n'as plus qu'à lancer la macro ensuite!

Sub classement()

Dim L As Long

For Each c In Range("O5:O10000")

    L = 5 + i

        If c.Value = "oui" Then
        Range("Q" & L) = c.Offset(0, -14).Value
        Range("R" & L) = c.Offset(0, -2).Value
        Else
        GoTo suite
        End If

    i = i + 1

suite:

Next c

End Sub

Valable pour 10.000 membres.

La macro inscrit dans ton classement les membres qui ont eut >90% et seulement eux. elle modifie la colonne Q et R du coup, pour la colonne S tu peux laisser ta formule actuelle elle marchera.

regarde dans le fichier exemple ci_joint en cliquant sur le bouton classement.

il va t'inscrire seulement ceux qui répondent au critères oui (surligné en bleu)

tu peux t'amuser à changer des non en oui et recliquer sur le bouton pour voir que ça marche.

N'oublie d'activer les modification et le contenu (message en jaune à l'ouverture)

26classement.xlsm (17.35 Ko)

si tu n'arrive pas à intégrer la macro à ton fichier d'origine envois le moi en message privé et je te l'intégrerais

pareil, message erreur formule

Essaye le fichier que je t'ai joint au précédent message, tu ne l'a peut être pas vu, tu as répondu en même temps

Merci mais la macro ne calcule pas du tout comme je le souhaite

Merci Mickou14

Bonjour Mikou14 Je souhaite avec ce même fichier réutiliser la macro mais avec 3 critères différents à modifier. Le "Simple" doit être au minimum à 95% cette fois ci et non plus 90%. Il y a maintenant 8 gagnants (les 8 premiers) et non 12 et les montants sont différents. (onglet Sheet1). Je n'arrive pas à modifier. Help please ;)

image

je t'envois ça en MP

Rechercher des sujets similaires à "formule equation rang"