Macro - Supprimer lignes ne contenant pas un mot précis

sophievba

XLDnaute Junior
Bonsoir le forum,

Mon premier appel à l'aide date d'hier et grâce à vous mon problème est résolu.

Je reviens aujourd'hui avec une autre question (ne sachant pas si je devais continuer sur mon premier ou en créer un autre, l'intitulé étant différent), je me lance (excusez moi pour le doublon) :

Comment à partir d'un bout de code je peux : "supprimer toutes les lignes dont le terme TOTO n'apparait pas dans la cellule de la colonne F" et dans ce même fichier "supprimer toutes les lignes qui commencent par 1111 dans la colonne D" ?

Merci beaucoup.
 

kjin

XLDnaute Barbatruc
Re : Macro - Supprimer lignes ne contenant pas un mot précis

Bonsoir,
A tester
Code:
Sub SupToto()
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
    If Not Cells(i, 6) Like "*TOTO*" Or Cells(i, 4) Like "1111*" Then Rows(i).Delete
Next
End Sub
A+
kjin
 

bobynette

XLDnaute Nouveau
Re : Macro - Supprimer lignes ne contenant pas un mot précis

Bonjour

j'ai besoin de supprimer en colonne K, toutes les lignes d'une feuille excel nommée "2012" (il y en a une autre nommée "2011"), dont le résultat est "#N/A"

j'ai testé la macro ci-dessous mais elle ne fonctionne pas.

Sub NA()
For i = 2000 To 1 Step -1
If Cells(2, 5).Text = "=#N/A" Then
Rows(i).Delete
End If
Next i
End Sub


Pouvez-vous m'aider ?
je débute et je ne comprends pas très bien.

Merci
Bonne journée
 

DoubleZero

XLDnaute Barbatruc
Re : Macro - Supprimer lignes ne contenant pas un mot précis

Bonjour à toutes et à tous,

Bienvenue, bobynette :), sur XLD !

A tester, cette macro adaptée d'un code de kjin :).

Code:
Sub Merci_kjin()
Dim c As Range
   For Each c In Range("K1", [K65000].End(xlUp))
     If IsError(c) Then c.EntireRow.Delete
   Next c
End Sub

A bientôt.

Modification : "suppression de ligne" au lieu de "effacement cellule"
 
Dernière édition:

Softmama

XLDnaute Accro
Re : Macro - Supprimer lignes ne contenant pas un mot précis

Bonjour Bobynette, DoubleZero,

tu dois pouvoir adapter ta macro ainsi :
VB:
Sub NA()
For i = ActiveSheet.UsedRange.Rows.Count  To 1 Step -1
If Cells(i, 5).Text = "#N/A" Then 'toutes les cellules de la colonne E
Rows(i).Delete
End If
Next i
End Sub

Cells(i, 5) au lieu de Cells(2,5) : tu dois tester chaque cellule en colonne E et pas uniquement la cellule E2

Cells(i, 5).Text = "#N/A" au lieu de Cells(i, 5).Text = "=#N/A" : il n'y a pas le signe égal dans le texte affiché par la cellule où est l'erreur.
 

jonjoneh

XLDnaute Nouveau
Re : Macro - Supprimer lignes ne contenant pas un mot précis

Bonjour, En espérant que quelq'un puisse m'aider. je voudrais editer une formule simple mais je n'y connait vraiment rien.

Colonne B , je voudrais supprimer toutes les ligne ne contenant pas le symbole "@"

merci
 

Softmama

XLDnaute Accro
Re : Macro - Supprimer lignes ne contenant pas un mot précis

Bonjour jonjoneh,

(A tester). Cette macro devrait faire l'affaire.
VB:
Sub test()
With Range("IV:IV")
  .FormulaR1C1 = "=FIND(""@"",RC2)"
  .SpecialCells(xlCellTypeFormulas, 16).EntireRow.Delete
  .Clear
End With
End Sub
 

Softmama

XLDnaute Accro
Re : Macro - Supprimer lignes ne contenant pas un mot précis

Bonjour matteopacino,

Si tu souhaites supprimer tous les lignes qui contiennent le symbole @ dans la colonne B, à ppartir de la ligne 6, tu peux opérer ainsi :
VB:
Sub test()
With Range("IV6:IV" & Activesheet.UsedRange.rows.count) 'A partir de la ligne 6
  .FormulaR1C1 = "=FIND(""@"",RC2)" 'C2 : colonne B
  .SpecialCells(xlCellTypeFormulas, 16).EntireRow.Delete
  .Clear
End With
End Sub
 

Bebeuft

XLDnaute Nouveau
Bonjour a tous,

Je suis tout nouveau sur le forum et debutant sur VBA.
J'aimerai creer une macro qui supprime la ligne si les cellules de la colonne A ne contiennent pas le mot "top".
Le truc c'est que je voudrais que la macro commence a la ligne 5 et s'arrete lorsque la cellule de la colonne A contient "total".
Jai pour le moment reutilise le code de kjin, il ne me manqué que l'arret au mot "total"

Sub cont_footing()
For i = ActiveSheet.UsedRange.Rows.Count To 5 Step -1
If Not Cells(i, 1) Like "*top*" Then Rows(i).Delete
Next
End Sub


J'ai attache un exemple de fichier sur lequel je vais devoir appliquer ma macro.

Merci d'avance pour votre aide.

PS: desole pour les accent je suis sur un clavier qwerty
 

Pièces jointes

  • Export Continuous Footing1.xlsx
    15.3 KB · Affichages: 11

Discussions similaires

Statistiques des forums

Discussions
312 156
Messages
2 085 819
Membres
102 991
dernier inscrit
justingr