VBA fonction index equiv 3 meilleurs résultats

Bonjour à toutes et tous,

tout d'abord, merci pour ce forum, et les réponses que j'y puise depuis déjà fort longtemps (vous m'avez fait découvrir sommeprod, thank's !!!).

Je souhaite, par un premier exercice vba l'utiliser sur l'exercice pratique joint.

j'ai un certain nombre de critère pour des candidats (marché public).

je souhaiterais, pour les candidats, avoir le nom des 3 premiers dans une seule cellule en fonction d'un tri soit maximum (3 notes les plus hautes) ou minimum (classement du 1er au 3ème).

du coup : quel serait la marche à suivre, sachant que j'ai déjà commencé à faire les exercices "cours vba" du présent site.

Exemple : la formule que j'ai indiqué en "E7" "=INDEX(analysecriteres!B3:B11;EQUIV(MAX(analysecriteres!C3:C11);analysecriteres!C3:C11;0)) me donne comme résultat "candidat B" alors que je souhaiterais "candidat B candidat C candidat I"

Du coup : Que faire ? et surtout, comment faire ???

Merci de vos avis et réponses.

Bien cordialement,

Stéphane.

salut pour afficher plusieurs valeurs dans une cellule (dans ton cas 3), tu peux faire une formule avec 1ere grande valeur (GRANDE.VALEUR) puis en faire une 2eme etc et ensuite tu rassemble les résulatats avec un simple &" "&

Voilà une première formule mais comment fais-tu s'il y a des valeurs égales ?

=INDEX(analysecriteres!B3:B11;EQUIV(GRANDE.VALEUR(analysecriteres!C3:C11;1);analysecriteres!C3:C11;0))&" "&INDEX(analysecriteres!B3:B11;EQUIV(GRANDE.VALEUR(analysecriteres!C3:C11;2);analysecriteres!C3:C11;0))&" "&INDEX(analysecriteres!B3:B11;EQUIV(GRANDE.VALEUR(analysecriteres!C3:C11;3);analysecriteres!C3:C11;0))

Bonjour, et merci, Jide.

En effet, cette formule fonctionne.

Là où elle coince, c'est qu'elle ne me prend en considération que le premier élément qu'elle rencontre.

Je pense qu'il serait intéressant de compléter avec "ESTERREUR" ??? à voir...

Encore merci !

Stéphane.

il y a toujours moyen d'afficher les 3 premiers mais le problème est que si tu as les 4 premiers à 30 comment dire au pc qu'il faut afficher 3 résultats et surtout lesquelles ?

edit : ou alors on affiche que les 3 premiers dans l'ordre d'apparition( tant pis pour le quatrième !! )

en effet...

dans l'exercice présent, il s'agit d'aider les chargés de mission à analyser rapidement quels sont les 3 candidats qui se détachent du 1er choix, afin de négocier avec eux une offre à la fois plus complète, et plus intéressante économiquement (principe des marchés publics dans les collectivités territoriales).

Si sur un marché avec 15 à 20 candidatures les chargés de mission mettent une bonne note à tout le monde, c'est que les critères de sélection ne sont pas assez précis, mais çà , c'est une autre histoire...

Stéphane.

Voilà une autre solution avec un tableau supplémentaire, c'est un peu plus compliqué mais le résultat est là, ca n'affiche que les 3 premiers, s'il y a un 4ème à égalité il ne sera pas inscrit

Note j'ai noté en jaune les tableaux en liaison pour me faciliter les tests (tu n'auras qu' à remettre tes formules puis effacer le tableau en jaune)

C'est pas LA solution mais ca vaut ce que ca vaut (je fais avec mes connaissances):

bonjour Jide, merci pour ton aide.

ok, çà fonctionne !

merci !

stéphane.

Rechercher des sujets similaires à "vba fonction index equiv meilleurs resultats"