Probleme feuille de match


#1

Bonsoir tout le monde,
je rencontre un petit souci pour l’execution d’une mise a jour pour un tableau de rencontre de boxe.
Petit recapitulatif :
j’ai un classeur avec plusieurs feuille 2 feuille de catégorie par age et par poids, plusieures feuilles de clubs et d’autre viendront si ajouter dans le futur, une feuille recap et une feuille du fameux tableau de rencontre
Pour ce tableau de rencontre il y a plusieurs critère a respecter
pas le mm club
pas frère et sœur
mm sexe
age pas + 2ans d’ecart de date a date
mm categorie

un premier essai concluant a déjà été fait sauf que d’autre critère ont du être ajouter et du coup cela ne fonctionne plus
le premier pint ou je suis bloquer est au niveau de la mise a jour

Sub MettreAjour()

Set fr = Sheets("RECAP")
Set ft = Sheets("tableau de rencontre")
Set dico = CreateObject("Scripting.Dictionary")

ft.Range("I2").CurrentRegion.Offset(2, 0).ClearContents
Application.ScreenUpdating = False
For i = 2 To fr.Range("A" & Rows.Count).End(xlUp).Row
    For ib = i + 1 To fr.Range("A" & Rows.Count).End(xlUp).Row
        If fr.Range("A" & i) <> fr.Range("A" & ib) Then
            If fr.Range("F" & i) = fr.Range("F" & ib) Then
                If fr.Range("F" & i) = "AMATEUR" Then
                  **_If (fr.Range("G" & i) - fr.Range("G" & ib)) < 365 * 2 Then_** ===probleme
                    If fr.Range("D" & i) <> fr.Range("D" & ib) Then
                        If Abs(fr.Range("E" & i) - fr.Range("E" & ib)) <= 3 Then
                            If dico(fr.Range("A" & i) & fr.Range("A" & ib)) <= 2 Then
                                If ib - i <= 3 Then
                                    lgn = ft.Range("B" & Rows.Count).End(xlUp)(2).Row
                                    fr.Range("A" & i & ":G" & i).Copy
                                    ft.Range("B" & lgn).PasteSpecial xlPasteValues
                                    fr.Range("A" & ib & ":G" & ib).Copy
                                    ft.Range("J" & lgn).PasteSpecial xlPasteValues
                                    ft.Range("A" & lgn) = lgn - 3
                                    dico(fr.Range("A" & i) & fr.Range("A" & ib)) = dico(fr.Range("A" & i) & fr.Range("A" & ib)) + 1
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
    End If
Next ib

Next i

la ligne ou j ai ecrit probleme est la ligne du critere age pas plus de 2 ans donc je ne vois pas ou est le souci
de plus je vous joint le fichier car vu que j’ai inserer de nouvelle categorie comme PRO ou TEST MATCH je ne sais pas comment le mettre a execution si vous pouvez a y voir plus clair cela serait très sympathique

Merci de vos futur reponseRENCONTRE SPORTIVE V3 (1).xlsm (75,5 Ko)


#2

Bonjour

Quel est le critère qui a été ajouté?


#3

bonjour docteur Excel,

Ben du coup comme j ai fait évoluer tout le classeur tout bloque maintenant

j ai rajouter des nouvelle donnees dans les feuilles categorie (licence, les categorie juniors et senior separe, categorie amateur, pro, test match)

la premiere maccro est affecte a la feuille recap elle permet de copier la ligne dans le tableau de la feuille recap si unX est present dans la colonne 1 des feuilles clubs

la 1er souci j ai rajouter des colonnes lies au nombre d’assaut, de combat et si c’est un garcon ou une fille dans les feuilles club du coup la consolidation ne fonctionne plus

la deuxieme est affectée a la mise a jour de la feuille de rencontre, elle permet d’oppose d’apres la feuille de recap deux boxeurs suivant les criteres suivant

pas le mm club
pas fille/garcon
respect de categorie (minimes,juniors,…)
respect de categorie de poids
age pas plus de 2ans

donc 2 souci le boutton mise a jour ne fonctionne pas

apres j ai rajouter 2 feuille club sous le nom Z et Y afin de pouvoir rajouter des nouveaux club au fur et a mesure des rencontres tout en gardant les trace des participant par club mais deja il m’en faudrait plus de 4

breff un peu trop complique a mon niveau malgres de longue heures de travail

si vous avez une solution c’est avec plaisir :sweat_smile:
RENCONTRE SPORTIVE V3 (1).xlsm (75,5 Ko)


#4

J’aimerais bien comprendre ce que tu as rajouté et qui à “cassé” ton fichier mais j’ai toujours du mal à comprendre…


#5

bonjour,
je suis désolé de ne pas être très claire dans mes explications

j’ai mis a jour les participants donc j ai rentré plusieurs boxeurs dans leurs clubs respectif
après pour une utilisation optimale j’ai crée de nouvelle colonne assaut combats classe et M/F
j’ai diviser la classe juniors seniors afin d’avoir 2 catégories
j ai créer aussi des catégorie test match pro amateur

If (fr.Range(“G” & i) - fr.Range(“G” & ib)) < 365 * 2 Then

Mais le problème vient de cette ligne qui est le critère age : pas plus de 2ans
mais la aussi pour les seniors il n’ya pas de limite d’age

et la pffff plus rien ne fonctionne je commence a savoir lire les code vba (car ce n’est pas moi qui est crée la macro ) et ne voit pas pourquoi cela ne fonctionne pas

si vous y voyez plus clair

merci d’avance du temps que vous me consacrez

ps : j ai du mal a repondre assez rapidement car a chaque fois que je valide mon mess sur la plateforme un mess me dit “you are not allowed to create polls”

RENCONTRE SPORTIVE V3 (1).xlsm (82,7 Ko)