Répéter une une formule SI, ET en VBA

Bonjour,

Je suis débutant dans les VBA et j'ai un petit problème.

J'ai créé le VBA suivant:

If Range("o8").Value = 2 And Range("p8").Value = 1 And Range("n8").Value = "" Then

dimanche = "8"

Else

dimanche = ""

End If

Range("f8").Value = dimanche

c'est assez simple, si les 3 conditions sont remplies ça affiche le chiffre 8, autrement, ça n'affiche rien. Maintenant j'aimerais répéter cette formule sur 157 lignes différentes. Je pensais donc faire un LOOP mais sans succés.

Est-ce que quelqu'un aurait une idée de comment répéter cette formule un nombre X de fois?

Merci pour votre aide!

Martin.

Bonjour,

Sub Test()
Dim Ligne As Long
Dim Dimanche As String
    For Ligne = 1 To 157
        If Range("O" & Ligne + 7).Value = 2 And Range("P" & Ligne + 7).Value = 1 And Range("N" & Ligne + 7).Value = "" Then
            Dimanche = "8"
        Else
            Dimanche = ""
        End If
        Range("F" & Ligne + 7).Value = Dimanche
    Next Ligne
End Sub

Cordialement.

Un grand merci Gyrus, c’est exactement ce dont j’avais besoin!

Est ce également possible répéter la formule aussi longtemps que la condition de la ligne « p8 » soit respectée ? merci

Bonjour,

Je ne suis pas sûr de comprendre pas ta demande.

P8 n’est pas une ligne mais une cellule.

La condition énoncée précédemment était P8 = 1,

Si P8=1 et que tu répètes l’instruction tant que la condition est respectée, ça va chauffer rapidement.

Par contre, si tu veux supprimer la boucle initiale sur les 157 lignes et conditionner le traitement à la valeur de la colonne P, essaie avec :

Sub Test()
Dim Ligne As Long
Dim Dimanche As String
    Ligne = 8
    Do While Range("P" & Ligne).Value = 1
        If Range("O" & Ligne).Value = 2 And Range("N" & Ligne).Value = "" Then
            Dimanche = "8"
        Else
            Dimanche = ""
        End If
        Range("F" & Ligne).Value = Dimanche
        Ligne = Ligne + 1
    Loop
End Sub

Cordialement.

Rechercher des sujets similaires à "repeter formule vba"