supprimer lignes ne commençant pas par un mot precis

serir

XLDnaute Junior
Bonjour :cool:,


J'aimerais savoir comment supprimer, avec formules conditionnelles, les lignes ne commençant pas par le mot "REGION".


Merci bien
 

Pièces jointes

  • supprimer lignes ne commencent pas par un mot.XLS
    16 KB · Affichages: 49

simraill

XLDnaute Occasionnel
Re : supprimer lignes ne commençant pas par un mot precis

Bojour serir,

Sache qu'il est impossible de supprimer des avec des formules, il faut passer par vba.
Essaye ce code :

Code:
dl = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
for i = 1 to dl
     If Left(activescheet.Range("A" & i).Value,6) = "REGION" then activesheet.Row(i).delete
next i

simraill
 

Pierrot93

XLDnaute Barbatruc
Re : supprimer lignes ne commençant pas par un mot precis

Bonjour,

une autre approche, ceci teste la colonne A de la feuille active :
Code:
Option Explicit
Sub Macro1()
Dim i As Long
For i = Range("A65536").End(xlUp).Row To 1 Step -1
    If Not UCase(Cells(i, 1)) Like "REGION*" Then Rows(i).Delete
Next i
End Sub

bon après midi
@+
 

job75

XLDnaute Barbatruc
Re : supprimer lignes ne commençant pas par un mot precis

Bonjour à tous,

Code:
Sub Tri()
[A:A].Copy [C1] 'facultatif et à adapter
[C:C].Replace "REGION", "0REGION", xlPart
[C:C].Sort [C1], xlAscending, Header:=xlNo
Range("C" & Application.CountIf([C:C], "0REGION*") + 1 & ":C" & Rows.Count).Delete xlUp
[C:C].Replace "0REGION", "REGION", xlPart
End Sub
C'est très rapide...

Fichier joint.

A+
 

Pièces jointes

  • supprimer lignes ne commençant pas par un mot(1).XLS
    34.5 KB · Affichages: 38

job75

XLDnaute Barbatruc
Re : supprimer lignes ne commençant pas par un mot precis

Re,

On peut définir le mot par une InputBox :

Code:
Sub Tri()
Dim mot As String
mot = Application.Trim(InputBox("Entrez le mot :", "Mot"))
If mot = "" Then Exit Sub
[A:A].Copy [C1] 'facultatif et à adapter
[C:C].Replace mot, "0" & mot, xlPart
[C:C].Sort [C1], xlAscending, Header:=xlNo
Range("C" & Application.CountIf([C:C], "0" & mot & "*") + 1 & _
  ":C" & Rows.Count).Delete xlUp
[C:C].Replace "0" & mot, mot
End Sub
La casse restituée est celle définie dans l'InputBox.

PS : les textes ne doivent pas commencer par des espaces...

Fichier (2).

A+
 

Pièces jointes

  • supprimer lignes ne commençant pas par un mot(2).XLS
    36 KB · Affichages: 33

job75

XLDnaute Barbatruc
Re : supprimer lignes ne commençant pas par un mot precis

Re,

Ceci est plus général, les textes en colonne A peuvent commencer par des espaces ou des chiffres :

Code:
Sub Tri()
Dim mot As String
mot = Application.Trim(InputBox("Entrez le mot :", "Mot"))
If mot = "" Then Exit Sub
[C:C].ClearContents
With Range("C1:C" & [A65536].End(xlUp).Row)
  .FormulaR1C1 = "=TRIM(RC1)" 'SUPPRESPACE
  .Value = .Value 'supprime les formules
  .Replace mot, " " & mot, xlPart
  .Sort [C1], xlAscending, Header:=xlNo
  Range("C" & Application.CountIf([C:C], " " & mot & "*") + 1 & _
    ":C" & Rows.Count).ClearContents
  .Replace " " & mot, mot
End With
End Sub
Mais il ne faut pas de nombres en colonne A.

Fichier (3).

A+
 

Pièces jointes

  • supprimer lignes ne commençant pas par un mot(3).XLS
    37 KB · Affichages: 34

Discussions similaires

Statistiques des forums

Discussions
312 810
Messages
2 092 304
Membres
105 344
dernier inscrit
dlug