Correction de 2 Macros (Ajout d'une ligne ; Triage d'un classement)?

Bonjour les cracks,

j'ai récupéré 2 Macros d'un ancien fichier, mais je n'arrive pas à les adapter correctement dans mon nouveau fichier (j'ai essayé mais hélas je suis pas fort doué lol).

1ère macro :

Via le bouton "Ajout", permet l'ajout d'une nouvelle ligne dans le classement pour ajouter un joueur.

2ème macro :

Via le bouton "triage", triage en ordre décroissant de mon classement (1er critère est la colonne totale point et 2ème critère est le nombre de présence pour définir le classement).

merci à vous pour votre aide précieuse et bonne journée.

Salut,

J'ai tenté de ne m'occuper que de la première partie de ta demande.

Selon moi tu as utilisé une macro qui est prévue pour un autre fichier - avec un nombre de colonnes différents et pas placées aux mêmes endroits - et il est très difficile de savoir ce que ta macro réalise et/ou devrait réaliser.

Par exemple ton code recherche dans la colonne A quelle est la dernière ligne utilisée et ça ne peut être que la ligne 1 !!!!!

Ou alors ta macro ajoute le nouveau nom dans la colonne B alors que tu y a un numéro de place !!!!

Troisième exemple : ton code voudrait supprimer les nombres inscrits dans les colonnes C à AF : ça rime à quoi ?????

Une solution pour résoudre ton problème serait éventuellement de nous fournir l'autre fichier - celui pour lequel la macro est prévue - et de nous indiquer ce qui change par rapport à ton nouveau fichier. Bien qu'il n'est pas toujours évident d'appliquer le code d'un fichier à un autre.

Et si tu laisses quelques données réalistes en place - mais pas 500 lignes - ça nous permet de mieux comprendre comment fonctionne ton fichier.

Amicalement.

Salut VideoContact,

Salut Yvouille,

j'imagine que c'est l'onglet 2 de ta première demande?

Tu aurais dû l'intégrer directement, Yvouille aurait évité un mal de crâne!

Question : [E, J, K, ...] - libellés "C." reçoivent bien les "points" de chaque joueur pour le match correspondant ?

@Yvouille : je joins le fichier "rassemblé" pour t'éviter une perte d'énergie inutile !

A+

2videocontact.xlsm (318.83 Ko)

Salut VideoContact,

Salut Yvouille,

Tes 2 fichiers réunis, aucune manipulation dans la feuille 'Joueurs', aucun bouton.

J'ai changé ta formule de conversion des points : plus courte, plus lisible, plus facile à corriger en cas de nécessité.

=SI(E12>11;37-E12;SI(E12>4;92-(E12*6);SI(E12>0;107-(E12*11);0)))

Ce que tu encodes en 'Clubs' se copie automatiquement en 'Joueurs'.

Un double-clic en 'Clubs' sur une cellule à fond noir commande l'effacement des données excepté le nom des joueurs.

    'Copie des points de match en 'Joueurs'
    sWk.Range(Choose(Cells(9, iCol), "E", "G", "I", "K", "M", "O") & _
            sWk.Range("C12:C47").Find(what:=Cells(Target.Row, 4), lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlNext).Row).Value = Target

Je n'ai pas testé dans les grandes largeurs mais il me semble que c'est OK.

A+

1videocontact.xlsm (326.02 Ko)

Salut,

J'ai tenté de ne m'occuper que de la première partie de ta demande.

Selon moi tu as utilisé une macro qui est prévue pour un autre fichier - avec un nombre de colonnes différents et pas placées aux mêmes endroits - et il est très difficile de savoir ce que ta macro réalise et/ou devrait réaliser.

Par exemple ton code recherche dans la colonne A quelle est la dernière ligne utilisée et ça ne peut être que la ligne 1 !!!!!

Ou alors ta macro ajoute le nouveau nom dans la colonne B alors que tu y a un numéro de place !!!!

Troisième exemple : ton code voudrait supprimer les nombres inscrits dans les colonnes C à AF : ça rime à quoi ?????

Une solution pour résoudre ton problème serait éventuellement de nous fournir l'autre fichier - celui pour lequel la macro est prévue - et de nous indiquer ce qui change par rapport à ton nouveau fichier. Bien qu'il n'est pas toujours évident d'appliquer le code d'un fichier à un autre.

Et si tu laisses quelques données réalistes en place - mais pas 500 lignes - ça nous permet de mieux comprendre comment fonctionne ton fichier.

Amicalement.

Bonjour,

Oui effectivement j'ai récupéré ces 2 macros d'un autre fichier. Je vais mettre celui-ci en annexe avec des données déjà remplies.

Merci de ton attention.

Salut VideoContact,

Salut Yvouille,

j'imagine que c'est l'onglet 2 de ta première demande?

Tu aurais dû l'intégrer directement, Yvouille aurait évité un mal de crâne!

Question : [E, J, K, ...] - libellés "C." reçoivent bien les "points" de chaque joueur pour le match correspondant ?

@Yvouille : je joins le fichier "rassemblé" pour t'éviter une perte d'énergie inutile !

A+

Hello Curulis57,

Tu as effectivement bien compris que les deux classement étaient lié pour une même compétition et seront donc deux onglets dans un même fichier

Mais comme il s'agit de deux classements séparés (un reprend un classement par équipe, l'autre est un classement individuel joueurs), il n'ont pas un lien direct ensemble.

pourquoi? Car les 6 joueurs d'une équipe ne seront pas toujours les mêmes à chaque compétition.

Voilà pourquoi j'ai envoyé ma requête en deux partie pour éviter des confusions.

Dans les colonne nommée "C" (colonne E,G,I, K...), j'indique le classement du joueur, et en fonction de celui-ci le joueur reçoit un nombre de point déjà défini (en colonne nommée "Pts").

Salut VideoContact,

Salut Yvouille,

Tes 2 fichiers réunis, aucune manipulation dans la feuille 'Joueurs', aucun bouton.

J'ai changé ta formule de conversion des points : plus courte, plus lisible, plus facile à corriger en cas de nécessité.

=SI(E12>11;37-E12;SI(E12>4;92-(E12*6);SI(E12>0;107-(E12*11);0)))

Ce que tu encodes en 'Clubs' se copie automatiquement en 'Joueurs'.

Un double-clic en 'Clubs' sur une cellule à fond noir commande l'effacement des données excepté le nom des joueurs.

    'Copie des points de match en 'Joueurs'
    sWk.Range(Choose(Cells(9, iCol), "E", "G", "I", "K", "M", "O") & _
            sWk.Range("C12:C47").Find(what:=Cells(Target.Row, 4), lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlNext).Row).Value = Target

Je n'ai pas testé dans les grandes largeurs mais il me semble que c'est OK.

A+

Formule conversion des points:

- Juste une petit erreur pour le classement 4, cela rapporte 68pts et non 63.

Lié les deux onglets :

1. Il n'est pratiquement pas possible de lier les deux car:

A. Pour chaque rencontre les joueurs dans les équipes ne seront pas toujours les mêmes.

B. Et même si parfois il y aura des mêmes joueurs, ils n'auront pas toujours la même position dans leur équipe (joueur1, joueur2,etc.)

C. A chaque compétition il y aura effectivement un max de 36 joueurs (6 équipes de 6) donc l'onglet "club" reste fixe. par contre comme il y aura des joueurs différents parfois, dans l'onglet "Joueurs" le nombre ne restera pas à 36 il sera augmenté (d'où le fait de pouvoir ajouter des lignes supplémentaires)

Je comprend très bien ton principe de vouloir n'encoder qu'une fois le classement (même si se sera difficile de le réaliser du fait du changement parfois de joueur et de position) ; mais dans le fichier alors il y a une erreur :

Dans l'onglet "club" dans les colonnes nommées "Pts" c'est obligé d'y avoir le nombre de Pts et non le classement ; hors dans l'onglet "Joueurs" il indique le chiffre comme classement (dans les colonnes nommées "C.") donc c'est faux c'est plutôt l'inverse qui devrait se faire (Le chiffre indiqué dans l'onglet "Club" colonne "E,F,G, H, I et J correspondent à des points donc devrait se retrouver dans les colonnes nommées "Pts' sans l'onglet "Joueurs".

Je me doute qu'il n'est pas toujours facile de me suivre et c'est pas facile de toujours l'expliquer par écrit. je vous remercie en tout cas de votre attention et patience d'essayer de me comprendre .

P.S. : Comme la partie Onglet "Clubs" est parfaite, je met en copie un fichier "Classement joueur" qui doit correspondre à l'onglet "Joueur" et ainsi se sera peut-être plus facile de comprendre le principe de ce 2ème classement (pas vraiment lié avec le classement "club).

Pour info, voici le post qui traitait des macros que j'aimerai ajouter à ce fichier :

https://forum.excel-pratique.com/viewtopic.php?f=2&t=120646

Rechercher des sujets similaires à "correction macros ajout ligne triage classement"