Autres A l'aide , comment gérer et départager un classement à 5 évolutions possibles

jmco

XLDnaute Nouveau
bonjour à tous ,
malgré je n'arrive pas à trouver les formules pour mon classement (excel 2007) avec préconisation nombre de point , si égalité goal- avérage Gle ,si égalité meilleur attaque , si égalité meilleure défense ,si égalité saisie manuel pour départager .Merci d'avance pour votre aide je joins le fichier avec les détails simulés

jmco
 

Pièces jointes

  • onglet simulation.xlsx
    30.6 KB · Affichages: 11

CISCO

XLDnaute Barbatruc
Bonjour

Une possibilité en pièce jointe.
Le principe :
- Pour ce qui est du classement
* pondérer chaque paramètre avec des coefficients de plus en plus petits pour qu'ils comptent de moins en moins, ce qui donne la colonne AL, PTS pondérés, plus exactement la plage AL6:AL13 dans le cas de la première poule
* classer ces points pondérés avec GRANDE.VALEUR dans la colonne AN

- Pour ce qui est de pouvoir utiliser ces formules pour chaque plage
On ne peut pas mettre directement, en dur, AL6:AL13 dans la formule dans la colonne AN, car elle prendrait toujours comme référence les résultats de la poule1, ce qui ne conviendrait pas pour les poules suivantes. J'ai donc défini dans le gestionnaire de noms PTSponderespoule avec la formule
Code:
DECALER(INDIRECT("AL"&(ENT((LIGNE()-6)/8)*10+6));;;8)
ce qui correspond à une plage verticale de 8 cellules commençant en AL6, puis AL16, puis AL26...en fonction de la position active.

Il suffit de tirer ces formules vers le bas pour avoir les résultats pour les autres poules.

Il ne faut surtout pas changer la disposition des tableaux (toujours 10 lignes par poules)

@ plus
 

Pièces jointes

  • onglet simulation.xlsx
    30.3 KB · Affichages: 4

jmco

XLDnaute Nouveau
Bonjour

Une possibilité en pièce jointe.
Le principe :
- Pour ce qui est du classement
* pondérer chaque paramètre avec des coefficients de plus en plus petits pour qu'ils comptent de moins en moins, ce qui donne la colonne AL, PTS pondérés, plus exactement la plage AL6:AL13 dans le cas de la première poule
* classer ces points pondérés avec GRANDE.VALEUR dans la colonne AN

- Pour ce qui est de pouvoir utiliser ces formules pour chaque plage
On ne peut pas mettre directement, en dur, AL6:AL13 dans la formule dans la colonne AN, car elle prendrait toujours comme référence les résultats de la poule1, ce qui ne conviendrait pas pour les poules suivantes. J'ai donc défini dans le gestionnaire de noms PTSponderespoule avec la formule
Code:
DECALER(INDIRECT("AL"&(ENT((LIGNE()-6)/8)*10+6));;;8)
ce qui correspond à une plage verticale de 8 cellules commençant en AL6, puis AL16, puis AL26...en fonction de la position active.

Il suffit de tirer ces formules vers le bas pour avoir les résultats pour les autres poules.

Il ne faut surtout pas changer la disposition des tableaux (toujours 10 lignes par poules)

@ plus

Bonjour CISCO ,

Merci pour la réponse , seulement un peu néophyte , je n'arrive pas à générer la même chose pour les 5 poules , pouvez-vous encore m'aider pour finir le tableur que je dois coller dans l'onglet du tableau original (fichier trop gros pour l'envoyer ) car le tournoi gère 40 équipes de jeunes
merci encore et bonne journée
Jmco
 

CISCO

XLDnaute Barbatruc
Bonjour

Cf. en pièce jointe. Dis moi si cela fonctionne correctement.

Si tu veux transposer cela dans un autre fichier, il faut créer le mots PTSponderespoule :
Sélectionner AN6, puis -->Formules--> gestionnaire de noms --> Nouveau --> Ecrire PTSponderespoule --> Dans fait référence à, écrire la formule donner dans mon précédent post sans oublier les ; finaux.

@ plus
 

Pièces jointes

  • onglet simulation.xlsx
    31 KB · Affichages: 7
Dernière édition:

jmco

XLDnaute Nouveau
Bonjour

Cf. en pièce jointe. Dis moi si cela fonctionne correctement.

Si tu veux transposer cela dans un autre fichier, il faut créer le mots PTSponderespoule :
Sélectionner AN6, puis -->Formules--> gestionnaire de noms --> Nouveau --> Ecrire PTSponderespoule --> Dans fait référence à, écrire la formule donner dans mon précédent post sans oublier les ; finaux.

@ plus

Bonsoir ,
Pour moi le fichier ne fonctionne toujours pas , les formules semblent en place , par contre rien ne s'affiche , je joins le fichier avec des infos sur toutes les cellules pour voir ce que tu peux faire
Cdt
 

Pièces jointes

  • onglet simulation (ed3.xlsx
    28 KB · Affichages: 4

dysorthographie

XLDnaute Accro
Bonsoir
Code:
With CreateObject("ADODB.Connection")
    .Provider = "Microsoft.ACE.OLEDB.12.0"
     .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0 Xml;HDR=Yes;IMEX=1;"""
     .Open
    Range("Feuil1!AL6").CopyFromRecordset .Execute("Select [Equipe] from [Feuil1$AC5:AL13] Order By PTS DESC,[DIF],[B P] DESC,[B C] DESC,[Coef] DESC ")
     .Close
 End With
 

Pièces jointes

  • onglet simulation.xlsm
    37.1 KB · Affichages: 5

jmco

XLDnaute Nouveau
Bonsoir
Code:
With CreateObject("ADODB.Connection")
    .Provider = "Microsoft.ACE.OLEDB.12.0"
     .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0 Xml;HDR=Yes;IMEX=1;"""
     .Open
    Range("Feuil1!AL6").CopyFromRecordset .Execute("Select [Equipe] from [Feuil1$AC5:AL13] Order By PTS DESC,[DIF],[B P] DESC,[B C] DESC,[Coef] DESC ")
     .Close
End With
???
 

jmco

XLDnaute Nouveau
Bonsoir à tous

jmco, comme tu as réussi à trouver d'où venait ton problème, tout va bien. Il ne reste plus qu'à tester le code proposé par dysorthographie...

@ plus
Bonjour CISCO
Je viens de m'apercevoir que je n'arrive pas à finaliser la poule 5 et que la saisie pour départager 2 équipes ne fonctionne pas à partir de la poule 2 .je te joins à nouveau la feuille pour voir si tu peux me finaliser l'ensemble des 5 poules sachant que des résultats sont entrés
Désolé mes connaissances EXCELL sont très limitées

Bonne journée jmco
 

Pièces jointes

  • onglet simulation (ed3.xlsx
    28 KB · Affichages: 4

CISCO

XLDnaute Barbatruc
Bonsoir

Voila, c'est fait.

Il y avait trois erreurs :

* Dans PTSponderespoule, j'avais écris un /8, alors qu'il fallait écrire un /10, puisqu'il y a 10 lignes par poule (1ère poule avec des valeurs de la ligne 6 à la ligne 13, seconde de 16 (=6 +10) à 23 (= 13 + 10) et ainsi de suite...).

* Dans mon premier post, je disais qu'il fallait prendre quelques précautions pour prendre en compte la bonne plage comportant les points pondérés, AL6:AL13 pour la 1ère poule, AL16:AL23 pour la seconde, et ainsi de suite... Il faut faire de même avec les plages contenant les noms des équipes, AH6:AH13 pour la 1ère poule, AH16:AH23 pour la seconde poule, et ainsi de suite... C'est fait dans le fichier joint avec le nom Listepoule, mais on aurait aussi pu le faire avec DECALER(PTSponderespoule;;-4).

* A la fin de la formule dans AN6, j'avais écrit LIGNES($1:1), ce qui donne 1. Dans AN7, on a LIGNES($1:2), ce qui donne 2. Dans AN16, on doit aussi avoir la valeur 1, ce que ne donne pas LIGNES($1:11). C'est mieux avec MOD(LIGNES($1:11);10), qui donne bien 1. Dans AN17, cela donne MOD(LIGNES($1:12);10), qui a pour valeur 2, et c'est ce qu'on veut.

J'avais traité le cas des autres poules vraiment trop vite. Excuse moi, STP.

@ plus
 

Pièces jointes

  • onglet simulation (ed3-1.xlsx
    29 KB · Affichages: 6
Dernière édition:

jmco

XLDnaute Nouveau
Bonsoir

Voila, c'est fait.

Il y avait trois erreurs :

* Dans PTSponderespoule, j'avais écris un /8, alors qu'il fallait écrire un /10, puisqu'il y a 10 lignes par poule (1ère poule avec des valeurs de la ligne 6 à la ligne 13, seconde de 16 (=6 +10) à 23 (= 13 + 10) et ainsi de suite...).

* Dans mon premier post, je disais qu'il fallait prendre quelques précautions pour prendre en compte la bonne plage comportant les points pondérés, AL6:AL13 pour la 1ère poule, AL16:AL23 pour la seconde, et ainsi de suite... Il faut faire de même avec les plages contenant les noms des équipes, AH6:AH13 pour la 1ère poule, AH16:AH23 pour la seconde poule, et ainsi de suite... C'est fait dans le fichier joint avec le nom Listepoule, mais on aurait aussi pu le faire avec DECALER(PTSponderespoule;;-4).

* A la fin de la formule dans AN6, j'avais écrit LIGNES($1:1), ce qui donne 1. Dans AN7, on a LIGNES($1:2), ce qui donne 2. Dans AN16, on doit aussi avoir la valeur 1, ce que ne donne pas LIGNES($1:11). C'est mieux avec MOD(LIGNES($1:11);10), qui donne bien 1. Dans AN17, cela donne MOD(LIGNES($1:12);10), qui a pour valeur 2, et c'est ce qu'on veut.

J'avais traité le cas des autres poules vraiment trop vite. Excuse moi, STP.

@ plus

Bonsoir CISCO

Super , maintenant l'ensemble fonctionne , un grand merci pour ton aide

Bien amicalement
Jmco
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 762
dernier inscrit
Ucef