Fonction f(x) dans boucle If et For

Bonjour,

Je suis confronté à un nouveau problème, j'aimerais que dans une boucle If qui est dans une boucle For les boucles fassent tourner une fonction du genre f(x) = ax + b. Bon vu comme ça ça parrait pas super clair, je vais expliquer avec le code.

Sub calcul_tp_plv_fond()
    Call nb_ligne_resultat
    'Renvoie un nombre de ligne
    Call nb_ligne_nomc
    'Idem
    Dim somme_qqt_plv_fond As Long
    'Résultat final de ma fonction, soit le f(x) final
    Dim val_a As Long
    Dim val_b As Long

    With Sheets("calculs")
        For i = 1 To (ligne_nomc - 1)
            val_a = Range("A" & (i + 1))
            'val_a est la valeur à comparer dans cette partie de ma macro

            With Sheets("resultat")
                For j = 1 To ligne_resultat
                    val_b = .Range("T" & (j + 1))
                    'val_b sera le "b" de ma fonction

                    If val_a = Range("A" & (j + 1)) Then
                            'Et c'est ici que j'aimerai introduire ma fonction qui serait : 
                            'f(j) = f(j - 1) + val_b
                            'Et que pour la dernière valeur de f(j), lui attribuer le nom somme_qqt_plv_fond                
                    End If
                Next
            End With
        Next
    End With
    MsgBox somme_qqt_plv_fond

    End Sub

Jusqu'au If, cette partie de macro est viable, mais ensuite je suis perdu.

En gros pour chaque j, j'aimerais que ma fonction prenne la valeur de l'addition entre val_b et la valeur de la fonction en (j - 1).

Voilà, je ne sais pas si c'est clair, si ça ne l'est pas, n'hésitez pas à demander plus de précisions.

Alors j'ai trouvé une alternative à mon problème, je n'ai pas introduit de fonction au final, j'ai instauré 4 valeurs (a, b, c et d) et j'ai joué un peu dans tous les sens avec ces valeurs afin d'obtenir un résultat.

Sub calcul_debits_yr()
    Call nb_ligne_resultat
    Call nb_ligne_nomc
    Dim a, b, c, d As Long
    Dim code_inter As Long
    Dim code_fin As Long
    With Sheets("calculs")
        Range("D2:D" & ligne_nomc).ClearContents

        'Somme quantité
        For i = 1 To (ligne_nomc - 1)
            a = 0
            b = 0
            c = 0
            d = 0
            e = 0
            val_a = Range("A" & (i + 1))
            With Sheets("resultat")
                For j = 1 To ligne_resultat
                    c = .Range("A" & (i + 1)).Value
                    If c = .Range("A" & (j + 1)) Then
                        d = .Range("W" & (j + 1)).Value
                        b = a + d
                        a = b
                    End If
                Next
            End With
            Range("D" & (i + 1)) = b
        Next
Rechercher des sujets similaires à "fonction boucle"