statistique tarot

steff72

XLDnaute Nouveau
bonjour,
je souhaiterai faire un stat sur des comptes de tarot. je voudrai faire apparaitre le nombre de fois qu'un joueur prend (qu'il perde ou non) dans la cellule désigné à cette effet.
Merci de l'aide. STEFF.
 

Pièces jointes

  • classement tarot.xls
    25.5 KB · Affichages: 102

Robert

XLDnaute Barbatruc
Repose en paix
Re : statistique tarot

Bonjour Steff, bonjour le forum,

En pièce jointe ton fichier modifié avec la macro événementielle Change ci-dessous :
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim nj As Byte 'déclare la variable nj (Nombre de Joueurs)
Dim li As Range 'déclare la variable li (LIgne)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim col1 As Byte 'déclare la variable col1 (COLonne 1)
Dim col2 As Byte 'déclare la variable col2 (COLonne 2)
Dim max1 As Integer 'déclare la variable max1 (maximum 1)
Dim max2 As Integer 'déclare la variable max2 (maximum 2)

'si le changement a lieu ailleurs que dans la plage B4:K45, sort de la procédure
If Application.Intersect(Target, Range("B4:K45")) Is Nothing Then Exit Sub
'si le nombre de cellule sélectionnées est supérieur à 1, sort de la procédure
If Selection.Cells.Count > 1 Then Exit Sub
nj = Application.WorksheetFunction.CountA(Range("B1:K1")) 'définit le nombre de joueurs
Set li = Range(Cells(Target.Row, 2), Cells(Target.Row, 11)) 'définit la ligne li (ligne de la première cellule éditée)

If Application.WorksheetFunction.CountA(li) = nj Then 'condition 1 : si le nombre de valeurs dans la ligne est égal au nombre de joueurs
    
    For Each cel In li 'boucle 1 : sur toutes les cellules de la ligne li
        If Abs(cel.Value) > max Then 'condition 2 : si la valeur absolue de la cellule cel est supérieure à la variable max
            max = Abs(cel.Value) 'définit le maximum max
            col1 = cel.Column 'recupère la colonne col1 de cette valeur max
            If col1 Mod 2 <> 0 Then col1 = col1 - 1 'si col1 est impaire alors col1 = col1 - 1 (Preneur)
        End If 'fin de la condition 2
    Next cel 'prochaine cellule cel de la boucle 1
    
    If nj > 4 Then 'condition 3 : si il y a 5 joueurs
        For Each cel In li 'boucle 2 : sur toutes les cellules de la plage li
            If cel.Value = Cells(cel.Row, col1) / 2 Then 'condition 4 : si la valeur de la cellule est la moitié de la valeur max
                col2 = cel.Column 'récupère la colonne col2 de cette valeur
                If col2 Mod 2 = 0 Then col2 = col2 + 1 'si col2 est paire alors col2 = col2 + 1 (Appelé)
                Exit For 'sort de la boucle 2
            End If 'fin de la condition 4
        Next cel 'prochaine cellule cel de la boucle 2
        If col2 > 0 Then Cells(3, col2).Value = Cells(3, col2).Value + 1 'incrément le joueur appelé
    End If 'fin de la condition 3
    
    Cells(3, col1).Value = Cells(3, col1).Value + 1 'incrémente le joueur preneur
End If 'fin de la condition 1
End Sub
Le calcul se fera automatiquement dès que tu auras rentré les points du dernier joueur. Le fichier :
 

Pièces jointes

  • Steff_v01.xls
    57 KB · Affichages: 96

ROGER2327

XLDnaute Barbatruc
Re : statistique tarot

Bonjour à tous


Un autre essai.​


ROGER2327
#5647


Mercredi 25 Pédale 139 (Saint Peligraf Poligrafovitch, chien - fête Suprême Quarte)
29 Ventôse An CCXX, 4,7441h - frêne
2012-W12-1T11:23:09Z
 

Pièces jointes

  • Copie de classement tarot.xls
    41.5 KB · Affichages: 105

Discussions similaires

Réponses
17
Affichages
637
Réponses
14
Affichages
828

Statistiques des forums

Discussions
312 610
Messages
2 090 217
Membres
104 452
dernier inscrit
hamzamounir