Matrice statistiques football amateur

751df100322.xlsm (85.27 Ko)

Bonjour

J'ai découvert cette méthode de statistiques pour footballeurs amateurs sur un site footballcoachvidéo outil-statistique-pour-vos-equipes-gestion-match

j'ai bidouillé une matrice pour ajouter les stats manuellement mais je souhaiterais automatiser avec des boucles, et là je suis totalement perdu.

J'ai mis les conditions de calculs et exemples dans le fichier joint en espérant que ce soit assez clair.

Je vous remercie par avance si vous pouviez me fournir le code qui va bien et pourrai ainsi le partager avec le concepteur de cette méthode

Je vous souhaite une très belle journée

Bonjour,

une proposition

pour simplifier l'encodage et le rendre plus rapide, j'ai limité les codes actions à une seule lettre (mais pas de problème pour fournir une version qui utiliserait tes codes initiaux)

E = engagement

B= but

C= tir cadré

N=tir non cadré

D= geste défensif

625df100322.xlsm (84.33 Ko)

Bonjour,

merci à toi, mais du coup je ne vois pas le code VBA que tu as appliqué dans le fichier :)

pour que lorsque l'on rentre par exemple

E5
679N7C
4D
697

cela se transcrive automatiquement (sans utilisation des boutons + en manuel) en

+1 en C6 et +1 en D6
+1 en F9 & +1 en C9 / +1 en C10 / +1 en C12 & + 1 en I12 / +1 en C10 & + & en K10
+1 en G5
+1 en F9 & +1 en C9 / +1 en C12 / +1 en C10 & + 1 en D10

merci

Bonne journée

Bonsoir,

la macro se trouve dans le module de la feuille feuil1 et se déclenche dès l'introduction d'une séquence en colonne B à partir de la ligne 26.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row < 26 Then Exit Sub
    If Target.Count <> 1 Then Exit Sub
    t = UCase(Target.Value)
    'vérifie si séquence valide
    serie = 0
    For i = 1 To Len(t)
        If serie = 0 Then
            c = Mid(t, i, 1)
            If c Like "[1-5]" Then
                serie = 1
            ElseIf c Like "[0,6-9]" Then
                serie = 2
            End If
        ElseIf serie = 2 And c Like "[1-5]" Then
            MsgBox "invalide"
            Exit Sub
        ElseIf serie = 1 And c Like "[0,6-9]" Then
            MsgBox "invalide"
            Exit Sub
        End If
    Next i
    'séquence valide
    Application.EnableEvents = False
    i = 1
    Do
        c = Mid(t, i, 1)
        Select Case c
            Case "E" 'engagement
                i = i + 1
                j = joueur(t, i)
                Cells(j, 3) = Cells(j, 3) + 1
            Case "B" 'but
                j = joueur(t, i - 1)
                Cells(j, 10) = Cells(j, 10)
                Cells(j, 13) = Cells(j, 13) + 1
            Case "C" 'tir cadré
                j = joueur(t, i - 1)
                Cells(j, 10) = Cells(j, 10) + 1
            Case "N" 'tir non cadré
                j = joueur(t, i - 1)
                Cells(j, 9) = Cells(j, 9) + 1
            Case "D" 'geste défensif
                j = joueur(t, i - 1)
                Cells(j, 7) = Cells(j, 7) + 1
                If i < Len(t) Then
                    If Mid(t, i + 1, 1) Like "#" Then Cells(j, 6) = Cells(j, 6) + 1
                End If
            Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ' joueur
            j = joueur(t, i)
                Cells(j, 3) = Cells(j, 3) + 1
                If i = Len(t) Then Cells(j, 4) = Cells(j, 4) + 1
            Case Else
                MsgBox "caractère invalide " & c & " détecté"
        End Select
        i = i + 1
    Loop Until i > Len(t)
        Application.EnableEvents = True
End Sub

Function joueur(t, x) As Long
    Dim j As Long
    j = Mid(t, x, 1)
    If j = 0 Then j = 10
    If j < 6 Then j = j + 1 Else j = j + 3
     joueur = j
End Function
Rechercher des sujets similaires à "matrice statistiques football amateur"