Remplir des cellules sous condition

Bonjour à tous,

Je bloque avec ce code :

Sub Macro1()
'
' Macro1 Macro
'
Dim i As Long

DernLig = Range("B" & Rows.Count).End(xlUp).Row
For i = DernLig To 2 Step -1

'MsgBox Range("A" & i).Value
If Range("A" & i).Value <> "OK " Then Rows(i).Select
Range("k" & i).Select
ActiveCell.FormulaR1C1 = "OK"
Range("l" & i).Select
ActiveCell.FormulaR1C1 = "OK"
Range("m" & i).Select
ActiveCell.FormulaR1C1 = "OK"
Next

End Sub

Mon souhait est de mettre "OK" dans les colonnes K,L,M seulement et seulement si la cellule "A &ligne" contient OK.

Ce code remplit toutes les Lignes ????

Merci pour votre aide

Cordialement

Bonsoir,

une proposition :

Sub LouReeD()

Dim I As Long, DernLig As Long

DernLig = Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To DernLig
    If Cells(I, 1).Value = "OK" Then
        Range("K" & I & ":M" & I).Value = "OK"
    End If
Next I

End Sub

Attention aux codes de l'enregistreur ! Beaucoup trop de Select qui ne servent à rien car sous VBA on peut très bien travailler sur des cellules sans les sélectionner.

Ensuite le "rebours" des lignes est nécessaire uniquement lorsqu'il y a des suppression de lignes, dans votre cas une boucle "standard" suffit.
j'ai fait mon test sur la colonne A afin de connaitre la dernière ligne car si B s'arrête en ligne 20 alors qu'il y a encore des OK en colonne A en dessous...

@ bientôt

LouReeD

Merci beaucoup, pour vos conseils et pour la solution.

cela résout mon problème.

Cordialement

Bobchau

Bonsoir,

merci de votre retour et vos remerciements !

@ bientôt

LouReeD

Rechercher des sujets similaires à "remplir condition"