Bonjour à tous,
j'ai besoin d'un coup de main pour finaliser mon projet.
Il s'agit de la plage ("C5:C60") qui contient les rencontres aau format (equipeA vs. equipeB)
et la plage ("D5:60") qui contient les résultats au format (scoreA-scoreB).
Si toute la plage est remplie, il n y a aucun problème mais s'il y a une cellule de la plage qui est vide: j'ai ce message d'erreur (Erreur d'exécution "9").
je vous mets le code et les niveaux où ça bloc.
Merci d'avance.
	
	
	
	
	
		
	
		
			
		
		
	
				
			j'ai besoin d'un coup de main pour finaliser mon projet.
Il s'agit de la plage ("C5:C60") qui contient les rencontres aau format (equipeA vs. equipeB)
et la plage ("D5:60") qui contient les résultats au format (scoreA-scoreB).
Si toute la plage est remplie, il n y a aucun problème mais s'il y a une cellule de la plage qui est vide: j'ai ce message d'erreur (Erreur d'exécution "9").
je vous mets le code et les niveaux où ça bloc.
Merci d'avance.
		VB:
	
	
	Sub classement()
Dim i As Integer
Dim j As Integer
Dim equipeA As String
Dim equipeB As String
Dim resultat As String
Dim scoreA As Integer
Dim scoreB As Integer
' Remise à zéro du tableau
Range("I5:Q12").Value = 0
' Boucle pour parcourir toutes les rencontres
For i = 5 To 60
' Récupération des noms des équipes et du résultat
    equipeA = Split(Range("C" & i).Value, " vs. ")(0)    '<=== si une seule cellule matchs (C) est vide
    equipeB = Split(Range("C" & i).Value, " vs. ")(1)
    resultat = Range("D" & i).Value
    scoreA = Split(resultat, "-")(0)    '<=== si une seule cellule scores (D) est vide
    scoreB = Split(resultat, "-")(1)
    ' Boucle pour parcourir toutes les équipes
    For j = 5 To 12
    
        ' Mise à jour des données pour l'équipe A
        If Range("H" & j).Value = equipeA Then
            Range("I" & j).Value = Range("I" & j).Value + 1
            If scoreA > scoreB Then
                Range("J" & j).Value = Range("J" & j).Value + 1
                Range("L" & j).Value = Range("L" & j).Value + 2
            ElseIf scoreA < scoreB Then
                Range("K" & j).Value = Range("K" & j).Value + 1
                If scoreA = 0 And scoreB = 20 Then
                    Range("L" & j).Value = Range("L" & j).Value + 0
                    Range("P" & j).Value = Range("P" & j).Value + 1
                Else
                    Range("L" & j).Value = Range("L" & j).Value + 1
                End If
            End If
            Range("M" & j).Value = Range("M" & j).Value + scoreA
            Range("N" & j).Value = Range("N" & j).Value + scoreB
            Range("O" & j).Value = (Range("M" & j).Value - Range("N" & j).Value)
            Range("Q" & j).Value = (Range("M" & j).Value - Range("N" & j).Value) / Range("I" & j).Value
        End If
        ' Mise à jour des données pour l'équipe B
        If Range("H" & j).Value = equipeB Then
            Range("I" & j).Value = Range("I" & j).Value + 1
            If scoreB > scoreA Then
                Range("J" & j).Value = Range("J" & j).Value + 1
                Range("L" & j).Value = Range("L" & j).Value + 2
            ElseIf scoreB < scoreA Then
                Range("K" & j).Value = Range("K" & j).Value + 1
                If scoreB = 0 And scoreA = 20 Then
                    Range("L" & j).Value = Range("L" & j).Value + 0
                    Range("P" & j).Value = Range("P" & j).Value + 1
                Else
                    Range("L" & j).Value = Range("L" & j).Value + 1
                End If
            End If
            Range("M" & j).Value = Range("M" & j).Value + scoreB
            Range("N" & j).Value = Range("N" & j).Value + scoreA
        Range("O" & j).Value = (Range("M" & j).Value - Range("N" & j).Value)
        Range("Q" & j).Value = (Range("M" & j).Value - Range("N" & j).Value) / Range("I" & j).Value
        End If
    Next j
Next i
'Tri du classement
Range("L5:Q12").Sort Key1:=Range("L5:L12"), Order1:=xlDescending, _
key2:=Range("Q5:Q12"), order2:=xlDescending, Header:=xlNo
End Sub