Re : Calculer les points belote
Salut,
Je me suis un peu plongé dessus aujourd'hui (j'étais très occupé ces 3 derniers jours).
À mon avis, le mieux pour toi serait de plutôt passer par un userform pour calculer tes points.
Je ne dis pas que c'est impossible par SelectionChange(ByVal Target As Range) mais tellement plus simple avec userform bien construit. Je suis persuadé que tu pourrais réduire ton code facilement comme ça.
Choix d'équipe preneuse, équipe avec belote puis point calculés sur une équipe (d'ordre général, on calcule le plus petit paquet de cartes).
En fonction de ça tu pourrais renvoyer tes résultats plus simplement.
Resterait plus qu'à nommer la première cellule de ton tableau équipe 1, de rechercher la dernière cellule renseignée de la colonne (à partir de cette cellule) , de descendre d'un offset, sélectionner cette cellule et d'y introduire tes résultats.
En mettant en place un n = activecell.row, tu pourrais garder tes formulations : cells(n, 9) ...etc.
Autre point important, ça faciliterait aussi ton calcul de litige. Tu pourrais introduire une cellule avec ces points, la modifier en cas de litige et la vider lorsque les points de litige sont pris.
genre
if équipe 1 prend et belote (équipe1 ou 2) et équipe 1 ou 2 = 91 alors
si équipe 1 et belote alors
équipe 1 = 20
litige = 81
équipe 2 = 81
Enfin pas bien compliqué en passant par l'userform. Alors que de passer par SelectionChange(ByVal Target As Range), implique de devoir obliger l'utilisateur du fichier à sélectionner l'équipe et la belote attribuée avant de rentrer les points (plein de code en plus pour rien). Sans quoi, un calcul sera fait et ajouter la belote ensuite, ne changera rien au score. Excel est perdu à ce moment.
Désolé mais l'Userform je pense sincèrement que tu devrais te faire un UserForm à la place.