XL 2019 Programme tournoi

Unmard

XLDnaute Nouveau
Bonjour le forum,

Je maitrise les bases et les fonctions avancé d’Excel, mais pas encore assez bon dans les macros ou code VBA. Je travaille sur ce petit programme, créé par moi-même dans son ensemble, et en cherchant des réponses à mes questions sur divers forums, j’ai pu adapter les codes en VBA en fonction de mes besoins pour mon programme de tournoi. J’espère pouvoir trouver de l’aide parmi vous, concernant mes deux problèmes.

J’ai créé plusieurs menus déroulants, pour choisir mes joueurs, en fonction du club, nom, prénom et date de naissance et le tout fonctionne parfaitement…sauf que je n’arrive pas à dérouler ma fonction sur toute les lignes (256 lignes). Elle fonctionne que sur la première ligne voire « feuille infos joueurs, ligne B9 à E9 », la feuille contient du code et les données des joueurs sont stockées dans la feuille « DP ».

Je souhaiterai modifier une prise en main de mon programme, par exemple, j’aimerai pouvoir choisir par case à cocher (type formulaire) le nombre de participants pour faire un classement général (soit 4, 8, 16, 32, 64, 128 et par défaut 256 participants). Quand je dis par défaut, c’est aucune coche sélectionnée. Actuellement, je dois le faire à la main via une donnée d’une cellule et le code VBA me fait le reste.
Exemple : J’ai une liste de 256 joueurs, j’ai actuellement 32 joueurs inscrits. Je mets un X dans une celle et ma liste rétrécit de 256 à 32 joueurs, tout en faisant le classement automatique sur 32 joueurs.
Voir « feuille classement pour tableau final ». J’ai déjà préparé les cases à cochers sur la feuille « Infos générales » et depuis celle-ci, activer le classement général.

Merci d’avance pour vos feedback et en espérant que mes problèmes trouveront des solutions.
 

Pièces jointes

  • Tournoi écoliers v4.0.xlsb
    659 KB · Affichages: 12

vgendron

XLDnaute Barbatruc
Hello

plusieurs problèmes pour les listes de validation
1) seule la cellule B9 a une liste de validation
==> il faut donc que la liste de validation des clubs soit appliquée sur toute la colonne

2) ensuite, la macro associée ne travaille QUE sur la ligne 9

après.. au sujet de la méthode utilisée (Liste de validation des clubs entrée manuellement) avec une macro qui change les listes de validation des autres colonne: ca me semble assez lourd, et pas des plus flexibles

il y a une autre méthode "plus connue" qui utilise
- des tables structurées pour listes les données d'entrée
- des listes de validation en "cascades"
je te prépare une proposition
 

Unmard

XLDnaute Nouveau
En retour ton fichier modifié
PS pour les listes en cascades, en fait.. pas aussi simple que prévu; je suis donc resté sur ta méthode
Bonjour le forum.
Bonjour vgendron, merci pour ta précieuse aide pour ton code qui est très épuré et fonctionne parfaitement.
J’ai protégé la feuille contre les erreurs d’écriture et J’ai dû mettre "ActiveSheet.Unprotect ()….ActiveSheet.Protect ()" dans ton code pour que ça fonctionne. J’ai recopié ton code dans mon fichier sur 256 lignes, la mise en forme de certains tableaux, le gestionnaire des noms ainsi que la validation des données. Dès que je fais le premier test, j’ai un message d’erreur qui me dit " l’indice n’appartient pas à la sélection " : la flèche pointe vers la ligne en jaune.

If Intersect(Target, ListObjects("Tab_InfoJoueurs").ListColumns("Club").DataBodyRange) Is Nothing And _

Intersect(Target, ListObjects("Tab_InfoJoueurs").ListColumns("Nom").DataBodyRange) Is Nothing And _

Intersect(Target, ListObjects("Tab_InfoJoueurs").ListColumns("Prénom").DataBodyRange) Is Nothing Then Exit Sub

J’ai cherché le titre « Prénom » dans la « Tab_InfoJoueurs », il est présent et bien orthographié.
Alors, je suis totalement perdu, pourriez-vous faire un check-up et me dire où est l’erreur ?
Merci d'avance et te souhaite un bon dimanche.
 

Pièces jointes

  • Tournoi écoliers v4.0.xlsb
    660.5 KB · Affichages: 19

Discussions similaires

Réponses
4
Affichages
238

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll