Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/09/2011, 12h00   #1
Nouveau Membre du Club
 
Inscription : juillet 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 214
Points : 29
Points : 29
Par défaut Rechercher toutes les grandes valeurs

Bonjour à tous,
Des nombres (certains sont en doubles ou triples) sont dans la colonne A (« Plage »).
Dans la colonne B, je souhaiterai affecter d’un chiffre les trois plus grandes valeurs.
Ainsi toutes les cellules avec la plus grande valeur seraient affectées d’un « 10 ».
Toutes les cellules avec la deuxième plus grande valeur seraient affectées d’un « 5 ».
Toutes les cellules avec la troisième plus grande valeur seraient affectées d’un « 3 ».
Et enfin, toutes les autres cellules seront affectés d’un « 0 ».
Hélas, la formule suivante n’aime pas les doublons.

Code :
=SI(C8=GRANDE.VALEUR(Plage;1);10;SI(C8=GRANDE.VALEUR(Plage;2);5;SI(C8=GRANDE.VALEUR(Plage;3);3;0)))
Comment remédier à ce problème ?
D’avance merci beaucoup.
bolide7
bolide7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 12h16   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Bonjour,

J'utiliserais plutôt la formule Rang

A copier en B1
Code :
=INDEX({10;5;3;0};SI(RANG(A1;A:A;0)>4;4;RANG(A1;A:A;0)))
EDIT :Apparemment, même problème avec les doublons
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 12h24   #3
Membre expérimenté
 
Homme
Enseignant
Inscription : novembre 2009
Messages : 350
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2009
Messages : 350
Points : 500
Points : 500
Bonjour à tous, bonjour Bolide7

Essayes la formule suivante en B1 (en supposant que tes valeurs commencent en A1 et le nom Plage est $A:$A) puis recopier vers le bas:
Code :
=SI(A1="";"";SI(A1=GRANDE.VALEUR(Plage;1);10;SI(A1=GRANDE.VALEUR(Plage;NB.SI(Plage;GRANDE.VALEUR(Plage;1))+1);5;SI(A1=GRANDE.VALEUR(Plage;NB.SI(Plage;GRANDE.VALEUR(Plage;1))+NB.SI(Plage;GRANDE.VALEUR(Plage;2))+1);3;0))))
Cordialement
hben1961 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 13h40   #4
Nouveau Membre du Club
 
Inscription : juillet 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 214
Points : 29
Points : 29
Bonjour jfontaine et hben1961,
Merci à vous deux pour votre rapidité de réponse.
Dans mon fichier qui est un peu plus complexe que la courte présentation faite (en réalité je suis sur 2 feuilles différentes et les valeurs ne commencent pas en A1), vos 2 propositions donnent les même résultats dans toutes des cellules : "0".
Ayant un doute sur les modifications que j'avais apportées à vos 2 formules, j'ai testé vos 2 propositions sur un petit fichier basique (une même feuille avec des valeurs qui commencent en A1) . Hélas le résultat est identique et je serai bien incapable de vous dire pourquoi.
bolide7
bolide7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 13h42   #5
Membre expérimenté
 
Homme
Enseignant
Inscription : novembre 2009
Messages : 350
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2009
Messages : 350
Points : 500
Points : 500
Bonjour à tous,

Une petite rectification dans la formule qui présente des erreurs des grandes valeurs d'ordre 3... La formule suivante est plus efficace:
Code :
=SI(A1="";"";SI(A1=Cell;10;SI(A1=GRANDE.VALEUR(Plage;NB.SI(Plage;Cell)+1);5;SI(A1=GRANDE.VALEUR(Plage;NB.SI(Plage;Cell)+NB.SI(Plage;GRANDE.VALEUR(Plage;NB.SI(Plage;Cell)+1))+1);3;0))))
avec Cell est un Nom défini par la formule :
Code :
=GRANDE.VALEUR(Plage;1)
(il peut être le nom de référence absolue d'une cellule contenant cette formule) et le nom Plage fait toujours référence à $A:$A...

Cordialement
hben1961 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 18h51   #6
Nouveau Membre du Club
 
Inscription : juillet 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 214
Points : 29
Points : 29
Ca a été beaucoup plus long que prévu.
Afin de supprimer la cellule contenant la formule de "Cell", voila plusieurs heures que j'essaye de remplacer dans ta formule le "Cell" par :

Code :
=GRANDE.VALEUR(Plage;1)
Si ta formule marche très bien lorsque Cell est affecté à une cellule, j'ignore pourquoi je n'arrive pas à effectuer ce simple remplacement dans ta jolie formule.
Tu as certainement l'explication !
bolide7
bolide7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 19h59   #7
Membre expérimenté
 
Homme
Enseignant
Inscription : novembre 2009
Messages : 350
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2009
Messages : 350
Points : 500
Points : 500
Bonjour à tous,

Le remplacement de la formule
Code :
=GRANDE.VALEUR(plage;1)
par Cell réalisé dans la formule est obligatoire à cause des limites d'excel (peut être qu'excel n'accepte pas l'utilisation de plus de 7 fois la fonction GRANDE.VALEUR() dans une même formule, quelque chose que je ne sais pas).... Je n'ai pas essayer une concaténation sur la formule... La meilleur méthode est de donner le nom Cell par la formule çi-dessus et d'utiliser la formule donnée précédemment et d'éviter le remplacement du nom Cell par la formule... Voir fichier en PJ (Voir menu Insertion\Nom\Définir)...

Cordialement
Fichiers attachés
Type de fichier : xls Classeur1.xls (37,5 Ko, 7 affichages)
hben1961 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 23h28   #8
Nouveau Membre du Club
 
Inscription : juillet 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 214
Points : 29
Points : 29
Bonsoir hben1961,
Je pouvais donc toujours essayer !
En finalité, je n'ai pas fait tout à fait comme toi dans ton fichier joint.
Je n'ai pas défini "Cell", ni la "Plage".
J'ai mis les coordonnées de la "Plage" directement dans ta formule et j'ai affecté une cellule à :

Code :
=GRANDE.VALEUR(Plage;1)
J'ai ensuite mis les référence de cette cellule dans ta jolie formule.
Merci beaucoup pour m'avoir retirer une nouvelle "épine du pied".
A une prochaine.
Bonne nuit.
bolide7
bolide7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h37.


 
 
 
 
Partenaires

Hébergement Web