supprimer lignes si une cellule contient un mot

patrmich

XLDnaute Nouveau
Bonjour,

Je souhaiterais trouver un moyen (macro ?) de supprimer toutes les lignes d'un tableau dont la cellule G (par exemple) contient un certain mot (en l'occurence le mot "Somme").

Merci par avance pour toute aide.

Patrick
 

Staple1600

XLDnaute Barbatruc
Re : supprimer lignes si une cellule contient un mot

Bonjour Skoobi


Une variante (en utilisant le filtre automatique)

Tu peux le faire manuellement

ou avec cette macro (ici filtre sur la colonne A)

Code:
Sub Macro1()
Dim PLG_FIL As Range
If Not ActiveSheet.AutoFilterMode Then
Range("A1").AutoFilter Field:=1, Criteria1:="somme"
End If
Set PLG_FIL = ActiveSheet.AutoFilter.Range
PLG_FIL.Offset(1, 0).Resize(PLG_FIL.Rows.Count - 1, 1).EntireRow.Delete
ActiveSheet.AutoFilterMode = False
End Sub
 

Bobitch

XLDnaute Nouveau
Re : supprimer lignes si une cellule contient un mot

Bonjour Staple,

chez moi ce code efface tout ! Je recherche une macro de suppression de ligne en fonction d'un terme particulier à saisir dans une cellule ou une pop-up : si une ligne contient le mot entré, on la supprime.

Mathieu.
 

Michael86

XLDnaute Nouveau
Re : supprimer lignes si une cellule contient un mot

Bonsoir,

J'ai le même type de problème que Skoobi.

Je cherche à supprimer les lignes contenant la date "12051997" (sous format texte, car si je change le format ça me met: ######).

J'ai adapté le code proposé mais une fois la macro appliquée les dates ne sont plus dans l'ordre et surtout les données en face des dates ne correspondent plus.

J'ai mis:

Code:
Sub test()
Dim c As Range
For Each c In ActiveSheet.UsedRange
If c Like "12051997" Then c.Rows.Delete
Next
End Sub

Merci d'avance pour votre aide.
 

Pièces jointes

  • échantillon.xlsx
    67.1 KB · Affichages: 449

DoubleZero

XLDnaute Barbatruc
Re : supprimer lignes si une cellule contient un mot

Bonjour, Michael86, le Forum,

Une possibilité avec ce code pour supprimer chaque ligne visible après application d'un filtre :

Code:
Sub Ligne_filtrée_supprimer_v2()
Range("A2", [A65000].End(xlUp)).Delete Shift:=xlUp
Selection.AutoFilter
End Sub

A bientôt :).

(Adaptation d'un code de BOISGONTIER)
 
Dernière édition:

Michael86

XLDnaute Nouveau
Re : supprimer lignes si une cellule contient un mot

Bonjour DoubleZero,

Merci pour ta solution, je n'avais pas pensé à utiliser le filtre.
J'ai fait ça et après j'ai simplement sélectionné et supprimé les lignes filtrées (plus simple pour moi que d'utiliser une macro).
 

charlene90

XLDnaute Nouveau
Re : supprimer lignes si une cellule contient un mot

Bonjour à tous,

grâce à vos réponse j'ai pu adapter les lignes de code afin de l'insérer dans ma macro :

Sub Find_Erase_PSS_Manual()

Dim J As Long
For J = 1110 To 31 Step -1
If Range("C" & J) = "xxx" Then Row(J).ClearContents
Next J

End Sub

Mais mon problème est le suivant : ClearContents efface le contenu de toute la ligne, hors j'ai dans les colonnes des formules qui se trouvent alors être supprimées mais j'en ai besoin.

Je pense que la solution serait de remplacer Row par une plage de donnée (colonne A à S).
Est ce que quelqu'un aurait la solution ?

Merci d'avance :)
 

Baptiste Praud

XLDnaute Nouveau
Bonjour à tous,

Je débute en VBA mais vous m'avez déjà bien aidé grâce aux réponses apportées.
Je suis dans le même cas, je souhaite supprimé les lignes complètes si ma case J4 - > Jx = 0
J'ai donc adapté la formule de code :

Sub Module_8()

Dim PLG_FIL As Range
If Not ActiveSheet.AutoFilterMode Then
Range("J4").AutoFilter Field:=1, Criteria1:="0"
End If
Set PLG_FIL = ActiveSheet.AutoFilter.Range
PLG_FIL.Offset(1, 0).Resize(PLG_FIL.Rows.Count - 1, 1).EntireRow.Delete
ActiveSheet.AutoFilterMode = False

End Sub

Cependant, ma première ligne concernée, la ligne 4 ne se supprime pas. Même avec "0" en valeur en J4.

Je ne comprends pas exactement d'ou vient l'erreur, si une âme attentionnée saurait m'expliquer le problème.

En vous souhaitant une bonne après midi :)

B
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 237
Membres
103 497
dernier inscrit
JP9231