Bonsoir,
je ne sais si j'ai bien compris :
Sub CalculerResultat()
Dim A8 As Integer, B8 As Integer, C8 As Integer, I As Integer
Dim LaValeur As Integer, Tablo
' tableau des gains
' rien, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Tablo = Array(0, 1250, 250, 1000, 100, 50, 100, 150, 75, 50, 1500, 750, 500)
' Récupérer les valeurs des cellules A8, B8 et C8
A8 = Range("A8").Value: B8 = Range("B8").Value: C8 = Range("C8").Value
'on vérifie si A8 <> B8
If A8 <> B8 Then
If A8 = 10 Or B8 = 10 Or C8 = 10 Then LaValeur = 20
If A8 = 11 Or B8 = 11 Or C8 = 11 Then LaValeur = LaValeur + 10
' et s'il y avait une autre condition d'ajout de point pour une image unique
If A8 = 12 Or B8 = 12 Or C8 = 12 Then LaValeur = LaValeur + 5
' on a donc A8 = B8
Else
' on boucle sur les 12 valeur possibles
For I = 1 To 12
' si A8 = C8 donc on a aussi = B8 alors LaValeur est égal à l'index I du tableau Tablo et on sort prématurément de la boucle
If A8 = I And C8 = I Then LaValeur = Tablo(I): Exit For
Next I
End If
' on inscrit en K6 le montant du gain, soit obtenu par trois images identiques soit un cumul de gain suivant les images uniques
Range("K6").Value = LaValeur
' si la valeur du gain est différente de 0 alors on incrémente la valeur du "compte" de cette dernière
If LaValeur > 0 Then Range("K9").Value = Range("K9").Value + LaValeur
End Sub
Ou bien une fonction "NB.SI (A8:C8;12) > 0 Then LaValeur = LaValeur +10" Le NB.SI en VBA c'est :
If Application.CountIf("A8:C8"),"="&10) Then LaValeur = LaValeur + 10
enfin je crois...
@ bientôt
LouReeD