Effacer contenu cellule si contient texte

Bonjour,

J'ai commencé à faire une macro pour effacer le contenu de certaines cellules si une autre cellule contient "OK".

Concrètement: si A1 contient "OK", alors effacer B1 et D1. Et ainsi de suite pour chaque ligne, si A2, alors B2 et D2...

Voici ce que j'ai commencé à faire:

Option Explicit

Sub EffacerOK()

Dim cell As Range

  For Each cell In Range("A4:D10")
        If Range("A4") = "OK" Then
          Range("B4, D4").ClearContents
        End If
  Next
 End Sub

La condition marche, mais seulement sur la ligne que j'ai définie, comment faire pour que la macro fasse le même travail sur une plage précise? (ici de A4 à D10) (ou sur l'onglet en entier, c'est possible) J'imagine qu'il faut faire une boucle, mais je ne vois pas comment la définir/quelle condition définir.

Merci beaucoup pour votre aide!

296ladynightstalker.xlsm (21.13 Ko)

Bonjour

Essayes en remplaçant ta macro par celle-ci

Option Explicit

Sub EffacerOK()
Dim J As Long

  For J = 4 To Range("A" & Rows.Count).End(xlUp).Row
    If UCase(Range("A" & J)) = "OK" Then
      Range("A" & J & ":B" & J & ",D" & J).ClearContents
    End If
  Next J
End Sub
LadyNightstalker a écrit :

J'imagine qu'il faut faire une boucle, mais je ne vois pas comment la définir/quelle condition définir.

On la définie par la dernière ligne non vide en colonne A

Merci beaucoup pour la réponse Banzai64, cela correspond en effet à ce que je veux!

Rechercher des sujets similaires à "effacer contenu contient texte"