Dans le fichier ci-joint, j'ai créé un formulaire qui recherche si un archer est présent dans la base puis affiche ses données sur le formulaire. Pourriez-vous s'il vous plaît m'aider à améliorer le code du bouton Enregistrer afin de reporter dans les cellules qui conviennent les scores de l'archer ?
Re : VBA de l'aide pour créer une application de gestion de compétition de tir à l'ar
Bonjour Fb, bonjour le forum,
Une première version pas encore terminée. Manque le module de recherche, quelques finitions et le code commenté. Je reviens vers toi quand j'aurais fini. Dis-moi si ce premier projet te convient...
J'ai rajouté un paquet de colonnes qui manquaient dans ton fichier original...
Re : VBA de l'aide pour créer une application de gestion de compétition de tir à l'ar
Bjr fb et Robert
Je me permets la réponse à ce souci :
Redéfinir le nom du champ N°_de_licence par N_de_licence, à la fois dans la feuille : Insertion/Nom/Définir et dans le code du Userform dans la section :
Code:
Private Sub UserForm_Initialize()
Dim i As Byte 'décalre la variable i (Incrément)
Me.ComboBox1.List = Range("N_de_licence").Value
ComboBox2.AddItem "Volées une à une"
ComboBox2.AddItem "Par 3 volées"
ComboBox2.AddItem "Par match"
For i = 1 To 5
Me.ComboBox3.AddItem i
Next i
For i = 1 To 10
Me.ComboBox4.AddItem i
Next i
End Sub
Re : VBA de l'aide pour créer une application de gestion de compétition de tir à l'ar
Bonjour,
Oui, ainsi je peux accéder au formulaire.
J'ai du également corriger la portion de code qui renvoie les données de la feuille dans les textbox du formulaire, en fait dans le code initial les données qui apparaissaient étaient celles de la ligne suivante, j'ai corrigé ainsi :
Re : VBA de l'aide pour créer une application de gestion de compétition de tir à l'ar
Merci Robert,
J'ai modifié un tout petit peu le code afin qu'il soit proposé à l'utilisateur de poursuivre l'enregistrement des résultats pour le même archer plutôt que de fermer puis rouvrir.
voici le code que j'ai ajouté :
Code:
Rep = MsgBox("Faut-il poursuivre l'enregistrement de volées pour cet archer ?", vbYesNo)
If Rep = vbYes Then
Me.TextBox6.Value = ""
Me.TextBox7.Value = ""
Me.TextBox10.Value = ""
Me.TextBox11.Value = ""
End If
If Ref = vbNo Then
UserForm1.Hide
'Unload Me 'vide et ferme l'UserForm 'ça ne marchait plus alors j'ai utilisé le Hide mais je ne sais pas si c'est l'idéal
End If
Comment, dans ce cas puis-je obtenir le résultat que tu obtiens sur la combobox4 qui affiche une valeur correspondant à la dernière série pour laquelle il y a une une saisie + 1 ?
J'aimerais de plus obtenir à la fin des saisies de tous les match la possibilité d'alimenter les feuilles de classement et j'avoue que l'aide serait vraiment la bienvenue.
Sur les feuilles IND (pour individuelle) il s'agirait de reporter les données :
Nom, Licence, Club, Classement
Le score avant bonus correspond à la somme des résultats des 3 meilleurs matchs
Le classement, c'est la position (rang) de cet archer par rapport à tous ceux de la même catégorie d'age
Sur les feuilles Club
il s'agirait de reporter les données :
Club, Score avant bonus, bonus, score après bonus, classement
Le score avant bonus serait la somme des résultats des 3 meilleurs matchs de tous les archers de cette tranche d'âge inscrits dans ce club
Le bonus se calcul ainsi :
"somme des points bonus de tous les archers de ce club et de cette catégorie d'âge"
Le bonus d'un archer s'obtient par cette opération
+ 5 points si l'archer a fait les 5 matchs
+ 50 points si l'archer à fait le 1er match
+ 40 points si l'archer a fait le 2nd match
+ 30 points si l'archer a fait le 3ème match
+ 20 points si l'archer a fait le 4ème match
+ 10 points si l'archer a fait le 5ème match
Il faudrait apporter une modification à l'application.
Désormais, ce seront 5 rencontres qui permettront d'établir une série (5) de score et classements (individuels et clubs) (5 également) mais il faudrait en outre "capitaliser" les résultats de la Rencontre 1, de la rencontre 2, de la rencontre 3, de la rencontre 4 et de la rencontre 5 pour établir en supplément un classement général individuel par tranche d'âge pour les (<8 jusqu'à <18), un classement masculin (<50), un classement (>= 50) et un classement féminin (femmes de la catégorie <50 et >=50).
Pourriez-vous m'y aider si je vous prépare les formulaires et les feuilles + toutes explications complémentaires dont vous pourriez avoir besoin ?