supprimer lignes ne commençant pas par un mot precis

  • Initiateur de la discussion Initiateur de la discussion serir
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
@+
 
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

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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
181
Réponses
2
Affichages
101
Réponses
10
Affichages
376
Retour