XL 2019 VBA Erreur d'exécution "9" dans une plage de tableau

piskely

XLDnaute Junior
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.

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
 

Statistiques des forums

Discussions
312 830
Messages
2 092 574
Membres
105 456
dernier inscrit
fabienlaporte081