Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimer toutes les lignes contenant le mot "Representative"

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 !

josanche

XLDnaute Occasionnel
Bonjour,

J'aurais besoin de votre aide. Je voudrais savoir comment on fait via un macro ou une autre fonction excel pour supprimer toutes les lignes du fichier excel contenant le mot "Representative" en sachant que les lignes sont du textes ! J'aimerais un macro qui analyse ligne par ligne et supprime chaque ligne de texte contenant le mot "Representative"

Merci pour votre aide

Cordialement
 

Pièces jointes

Re : Supprimer toutes les lignes contenant le mot "Representative"

Bonsoir Josanche et bienvenue 🙂,
A tester
Code:
Sub test()
Dim I As Integer
Application.ScreenUpdating = False
For I = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
If Range("A" & I).Value Like "*Representative*" Then Rows(I).Delete
Next I
Application.ScreenUpdating = True
End Sub
Bonne suite 😎
 
Re : Supprimer toutes les lignes contenant le mot "Representative"

Bonjour,
à tester :
Code:
Sub test()
Dim obj, resultat, DerLig&, i&
Set obj = CreateObject("vbscript.regexp")
DerLig = Range("A" & Rows.Count).End(xlUp).Row
For i = DerLig To 1 Step -1
  obj.Pattern = ".*Representative.*"
    If obj.test(Cells(i, 1)) = True Then Cells(i, 1).Delete shift:=xlUp
  Next i
End Sub
A+
 
Dernière édition:
Re : Supprimer toutes les lignes contenant le mot "Representative"

Bonjour,
Sinon avec un prompt qui demande quel mot supprimer, ca peut rendre service

Code:
Sub suppr()
Dim cellRecherche As Range, Mot As String
Mot = InputBox("Mot à rechercher", "Effacement ligne")
Set cellRecherche = ActiveSheet.Cells.Find(Mot, , , xlPart)
While Not cellRecherche Is Nothing
cellRecherche.EntireRow.Delete
Set cellRecherche = ActiveSheet.Cells.Find(Mot, , , xlPart)
Wend
End Sub
 
Re : Supprimer toutes les lignes contenant le mot "Representative"

Salut josanche et le forum
une macro du style :
Code:
Sub Macro1()
Dim Cel As Range
Do
    Set Cel = Cells.Find(What:="Representative", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
                    SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False)
    If Cel Is Nothing Then
        Exit Do
    Else
        Rows(Cel.Row).Delete
    End If
Loop
End Sub
devrait convenir
A+
 
Re : Supprimer toutes les lignes contenant le mot "Representative"

Bonsoir,

Méthode rapide: 0,15 sec pour 20.000 lignes (20 sec pour la méthode traditionnelle)

Code:
Sub supLignesRapide2()
  Application.ScreenUpdating = False
  a = Range("A1:A" & [A65000].End(xlUp).Row)
  For i = LBound(a) To UBound(a)
    If a(i, 1) Like "*Representative*" Then a(i, 1) = "sup" Else a(i, 1) = 0
  Next i
  Columns("b:b").Insert Shift:=xlToRight
  [B1].Resize(UBound(a)) = a
  [A1].CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess
  On Error Resume Next
  Range("B1:B65000").SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete
  Columns("b:b").Delete Shift:=xlToLeft
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Supprimer toutes les lignes contenant le mot "Representative"

Bonjour à tous !

J'ai un peu le même problème mais je n'arrive pas à m'en sortir...
Je souhaiterais supprimer les lignes où les cellules de la colonne F contiennent le mot FAUX.
J'ai essayé :

Sheets("Liste").Select
Range("F12").Select
For r = 1 To Range("F12").End(xlDown).Row
If ActiveCell = "FAUX" Then Rows(r).Delete
Next r

Mais bon rien ne marche ....

Merci beaucoup pour votre aide !
 

Pièces jointes

Re : Supprimer toutes les lignes contenant le mot "Representative"

Bonjour Steuf

A tester

Code:
Sheets("Liste").Select
For r = Range("F12").End(xlDown).Row To 12 Step -1
 If Range("F" & r) = "Faux" Then Rows(r).Delete
Next r
 
Bonjour,

Je me suis servi du code de Gorfael qui marchait dans mon cas.

Cependant, maintenant que j’ai trouvé le mot disons « carotte », comment faut-il faire pour rechercher le mot « navet » etc. ?

Merci d’avance pour vos conseils !
 
Peut être me suis-je mal exprimé.

Les solutions qui ont étés apportées plus haut permettent de rechercher un seul terme.

Je recherche moi une macro qui me permettra de rechercher un MOT1, puis un MOT2, puis un MOT3.

J’ai essayé en rajoutant « MOT1 » & « MOT2 » mais échec. J’ai également essayé de recopier, à la suite, la même formule en remplaçant bien sûr « représentative » par un autre terme mais cela ne semble pas convenir.
 
Bonjour à tous, j'ai besoin d'aide svp.

J'aimerai supprimer toutes les lignes contenant le mot " Rich ". Cependant si dans cette même ligne il y a aussi le mot " Precious Alloy ", il ne faudrait pas la supprimer.

Merci d'avance
 
Bonjour Styv17,

juste une piste :

If la ligne ne contient pas "Precious Alloy" Then
**If la ligne contient "Rich" Alors Rows(lig).Delete
End If
(les étoiles sont pour l'indentation ; à remplacer par des espaces)

attention : comme il s'agit d'une suppression de lignes,
tu dois « balayer » les lignes dans une boucle de bas
en haut ; c'est obligatoire, pour ne pas perturber le
compteur de boucle (= variable-indice du For .. Next).

n'oublie pas d'utiliser le gel de la mise à jour écran :

Application.ScreenUpdating = False (à placer
avant la boucle For .. Next)


soan
 
Dernière édition:
- 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

Discussions similaires

Réponses
19
Affichages
299
Réponses
75
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…