Effacer le contenu d'une selon Condition

Bsr.

Je voudrai effacer le contenu entière des cellules cellules qui contient un "motclé" avec le code ci-après mais ça ne marche.

Je joins un fichier "exemple" comme illustration

Sub Effacercontenu()
Dim cell As Range
  For Each cell In Range("H2:H65665")
        If Range("H2").Value Like "*" & "motclé" & "*" Then
          Range("H2").ClearContents
        End If
  Next
 End Sub

Merci

et bon week end à tous

6exemple.xlsx (11.37 Ko)

Salut,

une solution :

Sub Effacercontenu()
Dim cell As Range
  For Each cell In Range("H2:H65665")
        If Instr(Range("H2").Value, "motclé") > 0 Then
          Range("H2").ClearContents
        End If
  Next
 End Sub

Instr renvoie la position du caractère (ici le "motclé") dans la chaine de caractère Range(xx).Value. Et si il y'a une position sa veux dire qu'il est présent et que donc Instr(...) sera supérieur à 0.

Cdlt,

Bonjour,

Sub EffacerContenu(motclé As String)
    Dim c As Range, mcl$, n&
    mcl = "*" & motclé & "*"
    With Worksheets("Feuil1")
        n = .Range("H" & .Rows.Count).End(xlUp).Row - 1
        Application.ScreenUpdating = False
        For Each c In .Range("H2").Resize(n)
            If c Like mcl Then c.ClearContents
        Next c
    End With
End Sub

Sub LancerEffacement()
    EffacerContenu "avecleMotClé" 'Mettre mot-clé
End Sub

Cordialement.

Bsr à tous

Je m'exuse pour la réponse tardive

Merci bcp VH_AE et MFerrand pour les réponses mais ça ne marche pas. Et je ne sais pas d'ou vient l'erreur.

Bonne continuation

Bonjour,

Il se trouve que ton fichier ne correspond pas à ta demande ! Il t'appartient d'adapter en fonction de ce que tu veux...

Voici une version adaptée pour obtenir le résultat indiqué sur ton fichier-test :

Sub EffacerContenu()
    Dim mcl, i&, k%
    With Worksheets("Feuil2")
        mcl = Array("", "*" & .Range("I1") & "*", "*" & .Range("H1") & "*")
        n = .Range("H" & .Rows.Count).End(xlUp).Row - 1
        Application.ScreenUpdating = False
        With .Range("H2").Resize(n, 2)
            For i = 1 To .Rows.Count
                For k = 1 To 2
                    If .Cells(i, k) Like mcl(k) Then .Cells(i, k).ClearContents
                Next k
            Next i
        End With
    End With
End Sub

Tu trouveras peut-être que c'est quelque peu différent de la première version... Le principe est le même, on a juste fait varier quelques choix de variables pour traiter plus commodément deux colonnes...

La version précédente correspondait plus rigoureusement à ta demande... C'était à toi de veiller que ton fichier soit une rigoureuse illustration de la demande formulée, ou bien que la formulation de la demande corresponde au fichier fourni.

Cordialement.

14rsg-exemple.xlsm (21.43 Ko)

Merci

Désolé pour le fichier.

En fait, mon problème c'est que j' ai déplacer tout les données contenant un certain mot-clé de la rangée H

vers la rangée I (avec l'entête Info2) parce que je n'ai pas réussi à faire un code qui coupe et colle des

donnée dans la même feuille, et après cela il faudra supprimer ensuite effacer le contenu des cellule

contenant le mot clé.

Je vais essayer de modifier ton code mais n'hésite pas si tu as une suggestion.

Merci encore.

C'est toi qui décide ce qui est à faire... J'aurais peut-être ensuite des suggestions sur la façon de le faire... Pour l'instant il y a quelques flottements sur la configuration de départ.

Cordialement.

Rechercher des sujets similaires à "effacer contenu condition"