Une formule à modifier mais peut-être trop compliquée à rédiger

Bonsoir,

Sur les 3 premières épreuves de pétanque, un sportif ne peut figurer que sur une des 3 épreuves et par sur plusieurs. Il faudrait uniquement conserver le score le plus important et donc supprimer ce sportif sur la ou les 2 autres épreuves qui lui rapportent moins de points.

Concrètement, ça donne quoi :
- DIAWARA Soumia (entourée en rouge) apparaît sur le "5 ateliers" et sur le "9 cibles". Or son score le plus élevé est de 30,4 points sur le "5 ateliers", donc il faudrait supprimer sa 3ème place sur le "9 cibles".
Conséquences : Aux "9 cibles", MARIA Joice devient 3ème et le 5ème du clt sur la feuille CLT devient 4ème.

- BEN MOHAMED Falou (entouré en bleu) apparaît 2 fois aussi.
Son score le plus élevé est de 37,5 points donc faudrait le supprimer du "13 cibles" et mettre à la 4ème place, le suivant (5ème) sur la feuille CLT.
image

Je pense que ça risque d'être très et même trop compliqué pour constituer une nouvelle formule, nan ?

Au cas où, voici la formule d'origine en "B6" :

=SI(P6=0;"-";INDEX('Classmt par discipline+Général'!$B:$B;P6) & ", " & INDEX('Classmt par discipline+Général'!$C:$C;P6) & CAR(10) & ARRONDI(INDEX('Classmt par discipline+Général'!$K:$K;P6);1)& " pts - " & ARRONDI(INDEX('Classmt par discipline+Général'!$G:$G;P6);1)& " ans" & CAR(10) &INDEX('Classmt par discipline+Général'!$H:$H;P6) & " pts en "&INDEX('Classmt par discipline+Général'!$L:$L;P6) & " fois")

En tout cas merci de l'intérêt que vous portez à ce nouveau sujet...

Sur le bouton "Débloquer ou Quitter", tapez vodoraix pour tt débloquer.

Et mot de passe pour débloquer les feuilles ==> seb

Bonne soirée

B6 n'est que montrer le résultat, c'est P6 qu'il faut modifier + une nouvelle colonne dans "Classment...".

Bonjour Bart' et merci beaucoup, je vais rectifier le "tir"

La formule dont tu es l'auteur, en "P6" :

=MOD(SIERREUR(AGREGAT(15;6;(Tabel1[CLT1]+LIGNE(Tabel1[CLT1])/1000)/(Tabel1[Sexe]=$N6);$O6);0);1)*1000

Il faudra créer une nouvelle colonne sur la feuille "Classmt...", pour ces calculs complexes, c'est bien ça ?

En tout cas merci pour ton intervention...

Bonne semaine

je me suis trompé ! Ce n'est pas si simple que ça, pffffffff.

Voir tableau "tabel6" en "classemt" cellule AW4, par exemple, Joelle Dupont perd son or en "13 cibles", parce qu'elle a 22 points (6ième place, donc rien spécial) dans "5 ateliers" comparé avec ses 15.1 dans "13 cibles". On veut cela ???? Toutes ces médailles, c'est discutable, fragile ... . Les"rouges" sont exclus, seulement les verts sont traités.

C'est tout à fait pertinent ce que tu écris avec tes exemples, comme d'habitude

Je n'ai pas expliqué la différence entre les 3 épreuves de pétanque :

- 5 ateliers (coeff 1) ==> C'est la référence absolue puisqu'elle est reconnue et disputée au niveau mondial et donc forcément, national. Etre 6ème a une immense valeur contrairement aux 2 autres épreuves, qui sont, sans mépris, des épreuves dites, "poubelles". De l'or en "13 cibles", ça n'a qu'une minuscule valeur symbolique.

- Les 9 (coeff 0,5) et 13 (coeff 0,42) cibles sont des épreuves inventées pour ne pas dégoûter les sportifs motivés et garder une émulation de groupe.

En gros, faut tirer dans le tas de boules rassemblées pour ramasser des points.

Pour mieux comprendre la difficulté du 5 ateliers, sur 80 sportifs sélectionnés pour leurs capacités, y'en a seulement 3 ou 4 capables de faire quelques petits points.

Et tous les autres participants se rabattent sur les 9 & 13 cibles.

Le 13 cibles c'est surtout pour les filles qui ont même du mal à lancer leurs boules suffisamment fort pour atteindre les cibles. Et quand elle touche, souvent par accident, une boule, c'est parfois des explosions de joies Faut voir le truc !

Le 9 cibles c'est pour des garçons qui ne sont pas maladroits avec quelques vagues notions de pétanque.

Donc ton tableau est super bien construit, très clair et reflète exactement ce que je rêvais d'avoir ==> Trop fort, comme d'habitude !!!

Merci encore car pas simple du tout

Super, Bart', merci beaucoup, c parfait, o top du top !!!!

J'ai juste un petit souci en ajoutant des perfs à la pétanque, c'est que si je ne clique pas sur ton joli bouton "MACRO", le tableau n'est pas à jour.

Pourrions-nous imaginer de déclencher cette macro "Medailles", dès qu'un résultat est entré dans une des 3 feuilles de la pétanque.

Ainsi, on n'oubliera pas les màj

Qu'en penses-tu ?

C'est à dire que par exemple pour le code VBA de la feuille "5 ateliers", tu placerais cette macro à quel endroit, stp ? Et je ferai pareil, pour les 2 autres feuilles

Encore merci pour tout !!!

'Feuille 5 ateliers

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     Dim DerLig_f2 As Long
     Dim x     As Object
     Dim Nom As String, Prenom As String
     'enlever le mot de passe
     ActiveSheet.Unprotect Password:="seb"

     On Error GoTo Sortie
     Application.EnableEvents = False
     If Not Intersect(Target, Range("Z3:Z1000")) Is Nothing Then
          Nom = Target.Value
          Prenom = Target.Offset(0, 1).Value
          Sexe = Target.Offset(0, 2).Value
          i = Evaluate("min(IF((a3:a200="""")*(x3:x200=0),row(a3:a200),999))")     'première ligne avec A=vide et X=0
          If i = 999 Then MsgBox "plage est pleine": Exit Sub
          DerLig_f2 = i - 1                  'dernière ligne plein = ligne précédente
          If DerLig_f2 < 3 Then
               DerLig_f2 = 2
               Cells(DerLig_f2 + 1, "A") = UCase(Nom)
               Cells(DerLig_f2 + 1, "B") = Application.Proper(Prenom)
               Cells(DerLig_f2 + 1, "C") = UCase(Sexe)
               If UCase(Sexe) = "F" Then
                    Range(Cells(DerLig_f2 + 1, "A"), Cells(DerLig_f2 + 1, "C")).Font.Color = RGB(255, 0, 255)
               Else
                    Range(Cells(DerLig_f2 + 1, "A"), Cells(DerLig_f2 + 1, "C")).Font.Color = RGB(0, 0, 0)
               End If

          Else
               Cells(DerLig_f2 + 1, "A") = UCase(Nom)
               Cells(DerLig_f2 + 1, "B") = Application.Proper(Prenom)
               Cells(DerLig_f2 + 1, "C") = UCase(Sexe)
               Cells(DerLig_f2 + 1, "A").Select

               If UCase(Sexe) = "F" Then
                    Range(Cells(DerLig_f2 + 1, "A"), Cells(DerLig_f2 + 1, "C")).Font.Color = RGB(255, 0, 255)
                    Cells(DerLig_f2 + 1, "X").Font.Color = RGB(255, 0, 255)
               Else
                    Range(Cells(DerLig_f2 + 1, "A"), Cells(DerLig_f2 + 1, "C")).Font.Color = RGB(0, 0, 0)
                    Cells(DerLig_f2 + 1, "X").Font.Color = RGB(0, 0, 0)
               End If

               Nb = Application.WorksheetFunction.CountIfs(Range("A1:A" & DerLig_f2 + 1), Nom, _
                                                           Range("B1:B" & DerLig_f2 + 1), Prenom, _
                                                           Range("C1:C" & DerLig_f2 + 1), Sexe)

               If Nb > 1 Then
                    'recherche de la présence de ce nom dans la colonne A
                    With Range("A2:A" & DerLig_f2 + 1)
                         Set x = .Find(UCase(Nom), lookat:=xlWhole)
                         If Not x Is Nothing Then
                              Deb = x.Row
                              Do
                                   If Cells(x.Row, "B") = Application.Proper(Prenom) And Cells(x.Row, "C") = Sexe Then
                                        'Cells(x.Row, "A").Select
                                        Range(Cells(x.Row, "A"), Cells(x.Row, "C")).Interior.Color = RGB(255, 255, 0)
                                        'ActiveWindow.ScrollRow = x.Row - 10
                                        'GoTo Sortie
                                        'Else
                                   End If
                                   Set x = .FindNext(x)
                              Loop While Not x Is Nothing And x.Row <> Deb
                         End If
                         If DerLig_f2 > 20 Then ActiveWindow.ScrollRow = DerLig_f2 - 10
                    End With
               End If
          End If
     End If
Sortie:
     Centrage_Des_Valeurs_5_ateliers
     Application.EnableEvents = True
     'Protéger la feuille
     'ActiveSheet.Protect Password:="seb", UserInterfaceOnly:=True
End Sub

Sub Tri_Alpha_Col_AX()
     With Me.ListObjects("TBL_5Ateliers").Range
          .Sort .Range("A1"), xlAscending, , .Range("B1"), xlAscending, Header:=xlYes
     End With
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
     On Error GoTo Sortie
     Set f2 = Sheets("5 ateliers")
     DerLig_f2 = f2.Range("Z" & f2.Rows.Count).End(xlUp).Row

     Application.EnableEvents = False
     If Target.Column = 1 And Target.Row > 2 Then
          Nom = Target.Value
          Cells(Target.Row, "A") = UCase(Nom)
          Nb = Application.WorksheetFunction.CountIf(Range("Z1:Z" & DerLig_f2 + 1), Nom)
          If Nb = 0 Then
               With Range(Cells(Target.Row, "A"), Cells(Target.Row, "C"))
                    .Font.Color = RGB(0, 0, 0)
                    .Interior.Color = RGB(0, 255, 0)
               End With
          Else
               With Range(Cells(Target.Row, "A"), Cells(Target.Row, "C"))
                    .Font.Color = RGB(0, 0, 0)
                    .Interior.ColorIndex = xlNone
               End With
          End If
     ElseIf Target.Column = 2 And Target.Row > 2 Then
          Nom = Target.Offset(0, -1).Value
          Prenom = Target.Value
          Cells(Target.Row, "A") = UCase(Nom)
          Cells(Target.Row, "B") = Application.Proper(Prenom)
          Nb = Application.WorksheetFunction.CountIfs(Range("Z1:Z" & DerLig_f2 + 1), Nom, Range("AA1:AA" & DerLig_f2 + 1), Prenom)
          If Nb = 0 Then
               With Range(Cells(Target.Row, "A"), Cells(Target.Row, "C"))
                    .Font.Color = RGB(0, 0, 0)
                    .Interior.Color = RGB(0, 255, 0)
               End With
          Else
               With Range(Cells(Target.Row, "A"), Cells(Target.Row, "C"))
                    .Font.Color = RGB(0, 0, 0)
                    .Interior.ColorIndex = xlNone
               End With
          End If
     ElseIf Target.Column = 3 And Target.Row > 2 Then
          Nom = Target.Offset(0, -2).Value
          Prenom = Target.Offset(0, -1).Value
          Sexe = Target.Value
          Cells(Target.Row, "A") = UCase(Nom)
          Cells(Target.Row, "B") = Application.Proper(Prenom)
          Cells(Target.Row, "C") = UCase(Sexe)
          Nb = Application.WorksheetFunction.CountIfs(Range("Z1:Z" & DerLig_f2 + 1), Nom, Range("AA1:AA" & DerLig_f2 + 1), Prenom, Range("AB1:AB" & DerLig_f2 + 1), Sexe)
          If Nb = 0 Then
               With Range(Cells(Target.Row, "A"), Cells(Target.Row, "C"))
                    .Font.Color = RGB(0, 0, 0)
                    .Interior.Color = RGB(0, 255, 0)
               End With
          Else
               With Range(Cells(Target.Row, "A"), Cells(Target.Row, "C"))
                    .Font.Color = RGB(0, 0, 0)
                    .Interior.ColorIndex = xlNone
               End With
          End If
          If UCase(Sexe) = "F" Then
               Range(Cells(Target.Row, "A"), Cells(Target.Row, "C")).Font.Color = RGB(255, 0, 255)
               Cells(Target.Row, "X").Font.Color = RGB(255, 0, 255)
          Else
               Range(Cells(Target.Row, "A"), Cells(Target.Row, "C")).Font.Color = RGB(0, 0, 0)
               Cells(Target.Row, "X").Font.Color = RGB(0, 0, 0)
          End If
     End If
Sortie:
     'Tri_Alpha_AC
     Application.EnableEvents = True
End Sub

Je viens de voir que tu avais changé également les marges des colonnes STATS pour le PDF ==> Ca marche parfaitement, merci bcp...

re,

alors, juste au dessus, la macro "....Activate" >>> dès qu'on active la feuille "Stats", la macro "medailles" est lancée, donc le TS se met à jour et les formules de "stats" ont eu leur données actualisées.

Très bien, c'est clair et net ce que tu m'écris, merci beaucoup

Mais si je ne vais pas sur la feuille STATS alors ça ne se met pas à jour. C'est ça qui m'ennuie un peu... Car ton tableau tabel6 ne sera pas toujours à jour...

Tu penses que c'est quand même mieux comme ça ?

Merci

à +

okay, normallement, ce tableau ne sert que pour ces formules

Merci Bart', je n'ai pas trop vu ce que tu avais changé dans ce nouveau classeur

Ce tableau tabel6 va beaucoup servir en réalité, d'expérience, car souvent après la diffusion des résultats définitifs les sportifs viennent me voir pour avoir des explications. Ils ne comprennent pas leur calcul de points et contestent parfois les résultats. Grace à ton tableau, on va pouvoir leur expliquer très rapidement pourquoi ils n'ont pas eu la médaille qu'ils s'attendaient à avoir

En tout cas, merci pour tout...

Un sacré boulot que tu as fait

à bientôt...

Je l'ai un peu peaufiné :

vous pouvez déplacer ce tableau vers une feuille vierge ... (CTRL+X et CTRL+V)

Bonsoir Bart',

Je vais essayer ta proposition demain. Ca sera mieux de séparer et comme ça, ma feuille "Classmt..." sera plus claire :-)

Encore mille mercis pour tes précieux conseils

Bonne soirée Bart'

Rechercher des sujets similaires à "formule modifier etre trop compliquee rediger"