Comment réduire ce code répétitif

Bonsoir à tous est-il possible d'organiser ce code de façon à le réduire et éviter cette répétition.

Merci pour vos suggestions.

Bonne soirée

If Not Intersect(Target, Range("Q8:Q27")) Is Nothing Then
        If Range("Q8") = "1" Then
            Range("R8") = Range("P8")
            Else
            Range("R8") = ""
        End If
        If Range("Q9") = "1" Then
            Range("R9") = Range("P9")
            Else
            Range("R9") = ""
        End If
        If Range("Q10") = "1" Then
            Range("R10") = Range("P10")
            Else
            Range("R10") = ""
        End If
        If Range("Q11") = "1" Then
            Range("R11") = Range("P11")
            Else
            Range("R11") = ""
        End If
        If Range("Q12") = "1" Then
            Range("R12") = Range("P12")
            Else
            Range("R12") = ""
        End If
        If Range("Q13") = "1" Then
            Range("R13") = Range("P13")
            Else
            Range("R13") = ""
        End If
        If Range("Q14") = "1" Then
            Range("R14") = Range("P14")
            Else
            Range("R14") = ""
        End If
        If Range("Q15") = "1" Then
            Range("R15") = Range("P15")
            Else
            Range("R15") = ""
        End If
        If Range("Q16") = "1" Then
            Range("R16") = Range("P16")
            Else
            Range("R16") = ""
        End If
        If Range("Q17") = "1" Then
            Range("R17") = Range("P17")
            Else
            Range("R17") = ""
        End If
        If Range("Q18") = "1" Then
            Range("R18") = Range("P18")
            Else
            Range("R18") = ""
        End If
        If Range("Q19") = "1" Then
            Range("R19") = Range("P19")
            Else
            Range("R19") = ""
        End If
        If Range("Q20") = "1" Then
            Range("R20") = Range("P20")
            Else
            Range("R20") = ""
        End If
        If Range("Q21") = "1" Then
            Range("R21") = Range("P21")
            Else
            Range("R21") = ""
        End If
    End If

quelque chose comme :

    for i = 8 to 21
        If Range("Q" & i) = "1" Then
            Range("R" & i) = Range("P" & i)
            Else
            Range("R" & i) = ""
        End If
    next i

bonsoir,

bonsoir Steelson

une suggestion

If Not Intersect(Target, Range("Q8:Q27")) Is Nothing Then
For i = 8 To 21
        If Range("Q" & i) = "1" Then
            Range("R" & i) = Range("P" & i)
            Else
            Range("R & i") = ""
        End If
Next i

Merci pour vos réponses, ça marche.

Bravo acide sulfurique ...

bravo Steelson ...

Rechercher des sujets similaires à "comment reduire code repetitif"