Résultat du code qui ne s'affiche pas dans la cellule

Bonjour

Avec le code ci-joint je cherche la solution pour que le résultat s'affiche bien en cellule K6 mais pour l'instant ça ne fonctionne pas

ou se trouve mon erreur?

Merci pour votre aide

Sub CalculerResultat()
    Dim A8 As Integer
    Dim B8 As Integer
    Dim C8 As Integer   
    ' Récupérer les valeurs des cellules A8, B8 et C8
    A8 = Range("A8").Value
    B8 = Range("B8").Value
    C8 = Range("C8").Value

    ' Appliquer la logique de la formule
    If A8 = 10 And B8 = 10 And C8 = 10 Then
        Range("K6").Value = 700
    ElseIf A8 = 1 And B8 = 1 And C8 = 1 Then
        Range("K6").Value = 400
    ElseIf A8 = 2 And B8 = 2 And C8 = 2 Then
       Range("K6").Value = 200
    ElseIf A8 = 4 And B8 = 4 And C8 = 4 Then
        Range("K6").Value = 100
    ElseIf A8 = 3 And B8 = 3 And C8 = 3 Then
        Range("K6").Value = 75
    ElseIf A8 = 5 And B8 = 5 And C8 = 5 Then
        Range("K6").Value = 50
    ElseIf A8 = 11 And B8 = 11 And C8 = 11 Then
        Range("K6").Value = 30
    ElseIf A8 = 12 And B8 = 12 And C8 = 12 Then
        Range("K6").Value = 20
    ElseIf A8 = 7 And B8 = 7 And C8 = 7 Then
        Range("K6").Value = 10
    ElseIf A8 = 6 And B8 = 6 And C8 = 6 Then
        Range("K6").Value = 5
    ElseIf A8 = 8 And B8 = 8 And C8 = 8 Then
        Range("K6").Value = 2
    ElseIf A8 = 9 And B8 = 9 And C8 = 9 Then
         Range("K6").Value = 2
    ElseIf A8 = 10 Then
        Range("K6").Value = 20
    ElseIf B8 = 10 Then
        Range("K6").Value = 20

    End If

End Sub

Bonjour,

avant le "End If" ajoutez un :

Else
    Range("K6").Value = "LRD"
Endif

Si LRD s'affiche s'est qu'aucune condition testées est vrai et comme vous n'affichez rien dans ce cas alors pas de valeur en K6.
ou plus simplement, la police n'est pas de la même couleur que le fond ?

@ bientôt

LouReeD

Bonjour,
Essaie ainsi :

Public Sub CalculerResultat()
Dim A8 As Integer, B8 As Integer, C8 As Integer
Dim r As Range

    ' Récupérer les valeurs des cellules A8, B8 et C8
    A8 = Range("A8").Value
    B8 = Range("B8").Value
    C8 = Range("C8").Value
    Set r = Range("K6")

    ' Appliquer la logique de la formule
    Select Case True
        Case A8 = 10 And B8 = 10 And C8 = 10: r.Value = 700
        Case A8 = 1 And B8 = 1 And C8 = 1: r.Value = 400
        Case A8 = 2 And B8 = 2 And C8 = 2: r.Value = 200
        Case A8 = 4 And B8 = 4 And C8 = 4: r.Value = 100
        Case A8 = 3 And B8 = 3 And C8 = 3: r.Value = 75
        Case A8 = 5 And B8 = 5 And C8 = 5: r.Value = 50
        Case A8 = 11 And B8 = 11 And C8 = 11: r.Value = 30
        Case A8 = 12 And B8 = 12 And C8 = 12: r.Value = 20
        Case A8 = 7 And B8 = 7 And C8 = 7: r.Value = 10
        Case A8 = 6 And B8 = 6 And C8 = 6: r.Value = 5
        Case A8 = 8 And B8 = 8 And C8 = 8: r.Value = 2
        Case A8 = 9 And B8 = 9 And C8 = 9: r.Value = 2
        Case A8 = 10 Or B8 = 10: r.Value = 20
        Case Else: r.Value = vbNullString
    End Select

End Sub

Bonjour Jean-Eric

Merci pour ton aide

j'ai placé le code dans un module ça ne fonctionne pas ?

Sub CalculerResultat()

Re,
Avec fichier.
Cdlt.

10joco7915.xlsm (17.25 Ko)

Bonsoir à tous !

une proposition avec un tableau pour les gains :

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, 400, 200, 75, 100, 50, 5, 10, 2, 2, 700, 30, 20)
    ' 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 Then LaValeur = 20
    ' on a donc a8=b8
    Else
        For I = 1 To 12
            If A8 = I And C8 = I Then LaValeur = Tablo(I): Exit For
        Next I
    End If
    Range("K6").Value = LaValeur
End Sub

@ bientôt

LouReeD

Merci cela fonctionne

mais maintenant petit souci avec ce morceau de code sur un bouton activx ça beug

If Range("K6") <> "" Then Range("K9").Value = Range("K9").Value + Range("K6").Value

Re,

14joco7915.xlsm (20.67 Ko)
Private Sub CommandButton1_Click()
Dim A8 As Integer, B8 As Integer, C8 As Integer
Dim r As Range
Dim d

    With Me
        A8 = .Range("A8").Value
        B8 = .Range("B8").Value
        C8 = .Range("C8").Value
        Set r = .Range("K6")

        Select Case True
            Case A8 = 10 And B8 = 10 And C8 = 10: r.Value = 700
            Case A8 = 1 And B8 = 1 And C8 = 1: r.Value = 400
            Case A8 = 2 And B8 = 2 And C8 = 2: r.Value = 200
            Case A8 = 4 And B8 = 4 And C8 = 4: r.Value = 100
            Case A8 = 3 And B8 = 3 And C8 = 3: r.Value = 75
            Case A8 = 5 And B8 = 5 And C8 = 5: r.Value = 50
            Case A8 = 11 And B8 = 11 And C8 = 11: r.Value = 30
            Case A8 = 12 And B8 = 12 And C8 = 12: r.Value = 20
            Case A8 = 7 And B8 = 7 And C8 = 7: r.Value = 10
            Case A8 = 6 And B8 = 6 And C8 = 6: r.Value = 5
            Case A8 = 8 And B8 = 8 And C8 = 8: r.Value = 2
            Case A8 = 9 And B8 = 9 And C8 = 9: r.Value = 2
            Case A8 = 10 Or B8 = 10: r.Value = 20
            Case Else: r.Value = vbNullString
        End Select

        'que faire si la condition n'est pas remplie ?
        d = IIf(.Range("K6") <> "", .Range("K9").Value + .Range("K6").Value, "???")
        .Range("K9") = d
    End With

End Sub

Re @ Jean-Eric

il y a un bug sur cette ligne

d = IIf(.Range("K6") <> "", .Range("K9").Value + .Range("K6").Value, "??? ")

Re,
Remplace ??? par 0 et profite pour dire ce que l'on fait dans ce cas !...
Cdlt.

Rechercher des sujets similaires à "resultat code qui affiche pas"