logique

F

facteur

Guest
Salut le forum,

Un petit soucis de logique avec la fonction SI que je n'arrive pas à trouver pour faire un tri décroissant automatique dans ce fichier joint pour que le classement des équipes d'après leur nombre de points obtenus se fassent automatiquement dès que je rajoute 1 dans une des cases des équipes.

merci d'avance

facteur [file name=equipe_20060119075119.zip size=6894]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/equipe_20060119075119.zip[/file]
 

Pièces jointes

  • equipe_20060119075119.zip
    6.7 KB · Affichages: 9
F

facteur

Guest
merci pour la formule, mais est il pas possible que l'équipe qui a le plus de point classé N° 1 se met en premier de la liste, c à d comme va voir sur l'exemple de mon fichier joint.

Merci

Facteur [file name=facteur.zip size=7131]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/facteur.zip[/file]
 

Pièces jointes

  • facteur.zip
    7 KB · Affichages: 9

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour facteur, Dan,

En pièce jointe un petit essai.

j'ai mis les formule dans ton tableau de la cellule AF5 à AG13

Jocelyn [file name=facteur_20060119102210.zip size=7765]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/facteur_20060119102210.zip[/file]
 

Pièces jointes

  • facteur_20060119102210.zip
    7.6 KB · Affichages: 9

Gruick

XLDnaute Accro
Bonjour au facteur, à Dan, Jocelyn et tous les autres.
J'ai déplacé le petit tableau vers le haut,
les titres Equipe, points, classt en AB1 à AD1
Le petit tableau commençant en AB2 à AD10.

et, cerise sur le gateau,

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Range('AB1:AD10').Select
Selection.Sort Key1:=Range('AD2'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom
End Sub

Au passage, tu as oublié la formule rang pour Gavroche, qui en a bien besoin.

A +
 
F

facteur

Guest
Merci à vous tous,

Dire qu'il fallait 3 formules pour arriver à ce résultat, et bien, j'aimerai bien comprendre ces formules, si quelqu'un pouvait me les expliquer ou me renvoyer à un exercice dans le site qui m'expliquerai comment vous avez réussi à aboutir à ce travail.

Merci encore

A bientôt

Facteur
 
F

facteur

Guest
re,

Dis moi Gruick tu peux me dire ce que tu as voulu dire par ce language que j'arrive pas à déchiffrer :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Range('AB1:AD10').Select
Selection.Sort Key1:=Range('AD2'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom
End Sub


Merci d'avance pour les explications.
 

Gruick

XLDnaute Accro
Des années d'expérience....
De la passion, de l'opiniatreté,
La fréquentation de ce forum, le meilleur,

Vu ton tableau, ton niveau Excel est assez avancé, tu ne devrais pas avoir de peine à suivre le fil. Inscits-toi, fouines dans la case recherche, regardes les 330 pages précédentes...

Bref, sois le bienvenu...
 

Jocelyn

XLDnaute Barbatruc
re bonjour,
Bonjour Gruick,

bon alors en colonne Ag la formule : =GRANDE.VALEUR($A$30:$AA$30;LIGNE()-4)

cherche la grande valeur dans la plage A30:AA30 il faut aussi lui spécifié le rang de la Grande valeur c'est ce que fait 'ligne()-4' ligne() seul renvoi le numéro de ligne sur laquelle on se trouve ici 5 et -4 = 1 (soit la premiere plus grande valeur)ce qui fait qu'en recopiant vers le bas ligne() = 6 -4 = 2 (soit la deuxieme plus grande valeur)etc ....

en colonne AF : =SI(NB.SI($AF$4:AF4;INDEX($A$1:$AA$1;1;EQUIV(AG5;$A$30:$AA$30;0)))=0;INDEX($A$1:$AA$1;1;EQUIV(AG5;$A$30:$AA$30;0));INDEX($A$1:$AA$1;1;EQUIV(AG5+0,0001;$A$30:$AA$30;1)))

on recherche la valeur dans la plage A1:AA1 qui se trouve sur la premiere ligne et pour laquelle la ligne A30:AA30 est egal à AG5 c'est a dire la grande.valeur 1

INDEX($A$1:$AA$1;1;EQUIV(AG5;$A$30:$AA$30;0)

ensuite on compte le nombre de fois ou cette valeur est présente dans la ou les cellule précedente (c'est pour éviter les doublons en cas d'egalité de point
NB.SI($AF$4:AF4

si cette donné apparait 0 fois on met la donnée déterminée sinon

on fait la même recherche INDEX($A$1:$AA$1;1;EQUIV(AG5+0,0001;$A$30:$AA$30;1)))

en ajoutant quelque millième a La grande valeur

Voila j'espere que c'est clair (plus facile a réaliser qu'a expliquer :) :) :)

Jocelyn
 

Gruick

XLDnaute Accro
Cher Facteur
nos messages se sont croisés.

Il s'agit d'une private sub, une suite d'instructions en Visual basic, une macro spécifique à cette feuille.

Cette macro, donc, fait un tri tout bête, mais automatiquement dès lors que quelque chose fait changer ton petit tableau de classement.

Je pense que tu peux la copier du message, et la coller sur excel de la façon suivante.

1 tu copies le code (les instructions)
2 tu cliques sur l'onglet de la feuille en maintenant la touche control enfoncée,
3 Excel t'invites à visualiser le code
4 tu vires ce qu'il y a (ou après si tu veux)
5 tu colles le code
6 tu fermes cette fenêtre.

C'est prêt.
S'il y a un truc que tu ne comprends pas, n'hésites pas à me le dire.
Si tu commences en VBA, tu verras, on se prend vite au jeu.

Tu vois, il y a déja deux si...
en formules, c'est limité à ..8, je ne sais plus mais pas en VBA
A +
 

Gruick

XLDnaute Accro
Salut Jocelyn,
Respect. Du grand art !
Je suis plutôt macro, c'est plus rigolo.
J'avoue mes lacunes en formules du genre EQUIV ou DECALER entre autres.
Si je consulte l'aide excel, c'est la catastrophe
Je dirai même que je préfère les explications en anglais que leur traduction en français.
A+
 
F

facteur

Guest
Salut à tout le forum,

Après votre aide, j'ai essayé de comprendre ce que vous avez réussi à faire, mais il y a un truc qui va pas dans le classement dans la colonne EQUIPES en AB.

Il se trouve que l'équipe H POLL totalise 23 points, et donc devrait se retrouver dans le classement 1er comme ALIEN et au lieu de voir afficher H POOL on trouve TRANSFERT, alors que TRANSFERT n'a totalisé que 19 points, et donc TRANSFERT devrait se trouver en 4ème position à la place de PIER POOL qui est déjà classer 7ème.

Voyez le blem dans le fichier que je vous joins, afin de rétablir l'ordre, car j'ai beau essayé de changer dans la formule de logique, je reste toujours illogique, et impossible à mon niveau d'arrivé à corriger ce soucis.

Je fais appelle à vous car sais qu'en moins de 5 mm vous aurez trouvé le pourquoi du comment, et merci si possible de me donner l' explication afin que je comprenne comment il fallait faire.

Merci à tous et à très bientôt.

Facteur
 

Monique

Nous a quitté
Repose en paix
Bonjour,

2 autres méthodes dans le fichier joint.

Feuille 1, les ex aequo sont départagés dès la ligne 30 par +Colonne()/100000
Mais les deux 2èmes deviennent 2è et 3ème

Feuille 2, les ex aequo le restent, les deux 2èmes restent 2èmes
La formule d'extraction des noms ne renvoie pas deux fois le même nom :
INDEX(noms;MIN(SI(points=GRANDE.VALEUR(points;1 puis 2 puis 3 etc);SI(NB.SI(cellules du dessus;noms)=0;COLONNE(noms)))))
(un peu le même raisonnement que Jocelyn) [file name=ClassementFacteur.zip size=7088]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ClassementFacteur.zip[/file]
 

Pièces jointes

  • ClassementFacteur.zip
    6.9 KB · Affichages: 22

Discussions similaires

Statistiques des forums

Discussions
312 432
Messages
2 088 375
Membres
103 835
dernier inscrit
Jaco24