XL 2019 Suppression des lignes contenant une partie d'un mot

Ni201

XLDnaute Nouveau
Bonjour,
Très novice en VBA, j'essaie d'expliquer:
J'ai une colonne Excel contenant des mots.
Je voudrais effacer la ligne dès que je trouve dans le mot la chaine #NEW#.
Exemple:
1-TOTO#REDOUBLANT#
2-TATA#NEW#
3-TITI#NEW#TRANSFERT
4-TETE#CRITERES#
5- #NEW#TUTU#ADMIS

Je voudrais supprimer les lignes 2, 3 et 5.
Merci pour une réponse ou indication.
 
Solution
Bonsoir Ni201, M12,

J'ai refais [Edit : refait] mon message.
J'ai compris le code.
Oui c'est simple mais avec un grand tableau ça prend beaucoup trop de temps.

Voyez les fichiers joints avec 30 000 lignes, le 2ème avec cette macro :
VB:
Sub Supprime()
Dim ws As Worksheet, tablo, i, n
Set ws = Worksheets("Feuil1")
tablo = ws.[A1].CurrentRegion.Resize(, 2) 'matrice plus rapide, au moins 2 éléments
For i = 1 To UBound(tablo)
    If Not tablo(i, 1) Like "*NEW*" Then
        n = n + 1
        tablo(n, 1) = tablo(i, 1)
    End If
Next
'---restitution---
With ws.[A1] '1ère cellule de destination
    If n Then .Resize(n) = tablo
    .Offset(n).Resize(ws.Rows.Count - n - .Row).ClearContents 'RAZ en dessous
End With
End Sub
Bonne...

job75

XLDnaute Barbatruc
Bonsoir Ni201, M12,

J'ai refais [Edit : refait] mon message.
J'ai compris le code.
Oui c'est simple mais avec un grand tableau ça prend beaucoup trop de temps.

Voyez les fichiers joints avec 30 000 lignes, le 2ème avec cette macro :
VB:
Sub Supprime()
Dim ws As Worksheet, tablo, i, n
Set ws = Worksheets("Feuil1")
tablo = ws.[A1].CurrentRegion.Resize(, 2) 'matrice plus rapide, au moins 2 éléments
For i = 1 To UBound(tablo)
    If Not tablo(i, 1) Like "*NEW*" Then
        n = n + 1
        tablo(n, 1) = tablo(i, 1)
    End If
Next
'---restitution---
With ws.[A1] '1ère cellule de destination
    If n Then .Resize(n) = tablo
    .Offset(n).Resize(ws.Rows.Count - n - .Row).ClearContents 'RAZ en dessous
End With
End Sub
Bonne nuit.
 

Pièces jointes

  • NI201.xlsm
    194.5 KB · Affichages: 3
  • NI201 rapide.xlsm
    196.8 KB · Affichages: 6
Dernière édition:

Statistiques des forums

Discussions
311 709
Messages
2 081 754
Membres
101 812
dernier inscrit
trufu