Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Nom, TDon(), L As Long, Somme As Double, Nbr As Long
If Target.Column <> 3 Or Target.Row = 1 Then Exit Sub
Nom = Target.Value
TDon = [C2:E2].Resize([C1000000].End(xlUp).Row - 1).Value
For L = 1 To UBound(TDon, 1)
If TDon(L, 1) = Nom And TDon(L, 2) = "rouge" Then
Somme = Somme + TDon(L, 3): Nbr = Nbr + 1: End If: Next L
If Nbr = 0 Then Nbr = 1
MsgBox Nom & " : " & "Moyenne = " & Int(10000 * Somme / Nbr + 0.5) / 100 & "%", _
vbInformation, "Rouges"
End Sub