|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre expérimenté
![]() René LE CORNECAssistant aux utilisateurs Inscription : septembre 2007 Messages : 1 114 ![]() |
Bonjour à tous,
Voilà j'ai mis en place ce code qui distribue des prix selon un nombre de points acquis par le candidats. Hors, je rencontre un problème que je n'arrive pas à résoudre : Pour les candidats ayant un résultat compris entre 1 et 30, le prix attribué est le "Prix d'encouragements des Jurats". Pour les candidats ayant un résultat compris entre 31 et 50, le prix attribué est le "3ème prix d'excellence". Mais seul le candidat ayant le meilleur score reçoit ce prix. Idem pour les résultats entre 51 et 61. Avec mon code actuel, tous les candidats reçoivent un prix et ce n'est pas ce que je recherche. Pourriez-vous m'apporter votre aide s'il vous plait, je planche là-dessus depuis 2 jours sans y parvenir. Je vous en remercie par avance Code :
__________________
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate) |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : septembre 2007 Messages : 1 596 ![]() |
Bonsoir,
Sans voir tout le code ou le fichier difficile à dire. Enfin tu dois boucler sur toutes les personnes et chaque fois que tu est dans un de tes 3 critères tu l'enregistre et à chaque boucle tu compare au précédent. A la fin tu auras les 3 plus grands pour chaque palier ! Edit: trop fatigué pour penser ce soir, ... Il doit y avoir aussi des formules
__________________
|
|
|
10
|
|
|
#3 |
|
Membre expérimenté
![]() René LE CORNECAssistant aux utilisateurs Inscription : septembre 2007 Messages : 1 114 ![]() |
Bonsoir aalex_38,
Merci pour ta réponse. Dans un tableau j'entre toute une série de nom de candidats ainsi qu'une série de notes. J'ai bien compris ta proposition mais je ne sais pas le faire, je ne sais pas écrire le code. Je pensais m'inspirer de la dernière ligne du code, pour les candidats ayant une note supérieur à 61. Dans ce cas de figure, seul le meilleur de cette catégorie reçoit le prix, mais cela ne marche pour les autres. Qu'en penses-tu ?
__________________
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate) |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonjour,
Teste ce qui suit : Code :
|
||
|
|
10
|
|
|
#5 |
|
Membre expérimenté
![]() René LE CORNECAssistant aux utilisateurs Inscription : septembre 2007 Messages : 1 114 ![]() |
Bonjour Theze,
Désolé d'avoir tardé à répondre. Petit problème de santé. Après avoir relu ton code, qui fonctionne, je me suis aperçu que quelque chose ne collais pas et cela est entièrement de ma faute. En fait, le plus grand nombre de points reçoit le 1er prix "1er Prix Saint Honoré", le 2ème "2ème Prix d'Excellence", le 3 ème "3ème prix d'excellence" et les 9 autres le "Prix d'encouragement des Jurats". Je travaille pour une association et je n'avais pas eu correctement toutes les informations. Toutes mes excuses Je dois donc recommencer ce code, peux-tu m'aider ? ou quelqu'un d'autre Merci par avance
__________________
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate) |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Inscription : septembre 2007 Messages : 1 596 ![]() |
Bonjour,
Un exemple pour trier la deuxième colonne, de la feuil1 Nom Score Nom26 99 Nom25 96 Nom33 94 Nom46 94 Nom24 93 Nom41 92 Nom35 91 Nom14 89 Nom21 82 Nom39 78 Nom1 76 Nom5 76 Et le code pour trier : Code :
Edit : un fichier pour le principe, il y a plusieurs façons de faire.
__________________
|
||
|
|
10
|
|
|
#7 |
|
Membre expérimenté
![]() René LE CORNECAssistant aux utilisateurs Inscription : septembre 2007 Messages : 1 114 ![]() |
Bonsoir aalex_38
Merci pour ta réponse, je teste ton code à mon application et je te tiens informé de la suite. Cordialement
__________________
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate) |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonsoir,
Je ne sais pas si j'ai bien compris ce que tu veux ? - Le plus grand score reçois : "1er Prix Saint Honoré" - Le second score reçois : "2ème Prix d'Excellence" - Le troisième score reçois : "3ème prix d'excellence" - Et les 9 scores suivants reçoivent : "Prix d'encouragements des Jurats" J'ai mis une ligne en commentaire si les "Prix d'encouragements des Jurats" doivent être numéroté : Donc, voici ce qui sort de ce que j'ai compris : Code :
|
||
|
|
20
|
|
|
#9 |
|
Membre Expert
![]() Inscription : septembre 2007 Messages : 1 596 ![]() |
Bonjour à tous,
Sympa la fonction Application.WorksheetFunction.Large, moi j'avais pensé à un tri, puis à parcourir les éléments. Et elle retourne quoi la fonction si plusieurs concurents ont la même note ?
__________________
|
|
|
10
|
|
|
#10 |
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonjour,
Et voilà, j'ai répondu trop vite Hervé. |
|
|
10
|
|
|
#11 | ||
|
Membre confirmé
![]() Inscription : juillet 2007 Messages : 209 ![]() |
La fonction large ne emble pas présente en Excel 2003.
J'avais plutôt imaginer l'emploi d'une fonction du type rang ou index Code :
|
||
|
|
00
|
|
|
#12 | |
|
Membre Expert
![]() Inscription : septembre 2007 Messages : 1 596 ![]() |
Citation:
En plus l'idée de passer par une fonction est plutot interessante pour sa concision. Bon week.
__________________
|
|
|
|
10
|
|
|
#13 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Re,
N'aimant pas rester sur un échec, j'ai répondu une fonction (un peu usine à gaz tout de même Code :
|
||
|
|
20
|
|
|
#14 |
|
Membre expérimenté
![]() René LE CORNECAssistant aux utilisateurs Inscription : septembre 2007 Messages : 1 114 ![]() |
Bonjour à tous,
Merci pour vos réponses. J'ai préféré la dernière proposition d'Hervé, bien que les autres soient intéressantes. Il ne peut pas y avoir de candidats exéquo. Dans ce cas les notes seraient revues de manière qu'il n'y ait qu'un seul vainqueur à chaque niveau - sauf à partir du 4ème. Cependant je rencontre un problème, pour les 3 premiers prix, aucun soucis. Mais à partir du 4ème prix, le réponse est #VALEUR! J'ai beau chercher la solution je ne vois où est l'erreur. Merci pour vos idées. Amicalement René
__________________
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate) |
|
|
00
|
|
|
#15 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonjour,
Et bien, si il ne peut y avoir de note identiques alors le plus simple à mon sens est ceci : Code :
Hervé. |
||
|
|
20
|
|
|
#16 |
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Re,
décidément, avec mes gros doigts Je voulais juste dire que la fonction gère les plages inférieures à 12 Hervé. |
|
|
10
|
|
|
#17 |
|
Membre expérimenté
![]() René LE CORNECAssistant aux utilisateurs Inscription : septembre 2007 Messages : 1 114 ![]() |
Merci Hervé, mais j'ai toujours la même erreur. Les 3 premiers prix fonctionnent, mais à partir du 4ème #VALEUR! s'affiche toujours.
Voici une partie du fichier
__________________
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate) |
|
|
00
|
|
|
#18 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Re,
C'est parce que ta plage est en grande partie vide mais voilà, j'ai rectifié avec CountA afin d'avoir le bon nombre de cellules correspondant : Code :
|
||
|
|
20
|
|
|
#19 |
|
Membre expérimenté
![]() René LE CORNECAssistant aux utilisateurs Inscription : septembre 2007 Messages : 1 114 ![]() |
Super Hervé ça fonctionne très bien. Merci beaucoup pour ton aide ainsi qu'à tous ceux qui ont participé à ce post.
A bientôt et bon week-end
__________________
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com