Microsoft 365 Supprimer ligne dés qu'il y a un mot dans la colonne

  • Initiateur de la discussion Initiateur de la discussion Moreno076
  • 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 !

Moreno076

XLDnaute Impliqué
Bonsoir le forum,

Je souhaiterais que si dans la colonne D, une cellule contient le mot "DO" "HS" "FV" alors supprimer la ligne.

Après cette suppression et seulement après idem aussi pour la colonne F mais avec des mots différents.

Je suis parti sur ça mais je galère, ca ne fonctionne même pas avec un MOT.

Sub Filtre()

Sheets("Synthèse").Select
Range("F1").Select
For r = 1 To Range("F1").End(xlDown).Row
If ActiveCell = "DO" Then Rows(r).Delete
Next r
End Sub

Merci à vous
 

Pièces jointes

Dernière édition:
Sub SupprimerLignes()

Dim i As Long
Sheets("Synthèse").Select
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 6).End(xlUp).Row To 1 Step -1 ' 4 pour la colonne "D"
If Cells(i, 6) = "DIL A" Or Cells(i, 6) = "DIL C" Or Cells(i, 6) = "DIL G" Then Rows(i).Delete
Next i
Application.ScreenUpdating = True

End Sub
 
Re

Tu as fait un truc de ce genre là ?
VB:
Sub NoPainNoGain()
[E2].FormulaR1C1 = "=MATCH(RC[-2],{""DO"";""HS"";""FV""},0)>0"
[C1:C24].AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("E1:E2"), Unique:=False
End Sub
Car j'avais précisé: (avec un critère formulé)

EDITION: Je viens de voir ton message.
Et donc de me rendre compte que tu n'avais pas utilisé le filtre élaboré 😉
 
Re

Tu as fait un truc de ce genre là ?
VB:
Sub NoPainNoGain()
[E2].FormulaR1C1 = "=MATCH(RC[-2],{""DO"";""HS"";""FV""},0)>0"
[C1:C24].AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("E1:E2"), Unique:=False
End Sub
Car j'avais précisé: (avec un critère formulé)

EDITION: Je viens de voir ton message.
Et donc de me rendre compte que tu n'avais pas utilisé le filtre élaboré 😉
non sans critère formulé, il faut vraiment lire au mot près 😎
 
Sauf que ca se complique apres car une fois la donne D ou F est filtré il faut supprimer les lignes aussi en doublons c est à dire même code dans la colonne B car pour les doublons les colonnes DEF ne sont pas renseignées car les informations sont regroupées dans la colonne C d' où le renommage.
 
j ai essayé le filtre formulé
ActiveSheet.Range("$A$1:$X$60").AutoFilter Field:=4, Criteria1:= _
"=*""DIL A"", ""SIL B"" ""A""*", Operator:=xlAnd
Application.Run "GRv65.xlsm!Clignote"
Application.Run "GRv65.xlsm!Clignote"
ActiveSheet.Range("$A$1:$X$60").AutoFilter Field:=4, Criteria1:= _
"=*""DIL A"", ""SIL B"" ""A""*", Operator:=xlAnd
Application.Run "GRv65.xlsm!Clignote"
Application.Run "GRv65.xlsm!Clignote"
Range("C68").Select
 
Re

Oui, il faut lire tous les mots 😉
Dans le message et dans le code VBA 😉
Je parle de Filtre élaboré (pas de filtre automatique)
et de critère formulé (c'est à dire avec une formule)
Testes cet exemple sur une feuille vierge et tu comprendras
VB:
Sub CREER_TEST()
t = Array("=ROW()*COLUMN()", "=TODAY()+ROW()")
tt = Array(1, "DO", 2, "HS", 3, "FV")
[A1] = "ITEM_1": [A1].AutoFill Destination:=Range("A1:D1"), Type:=0
[D2:D7] = Application.Transpose(tt)
[D2:D7].AutoFill Destination:=Range("D2:D35"), Type:=0
[A2:B35].Formula = t
End Sub
Sub Suppression_Avec_Filtre()
Dim pf As Range
[F2].Formula = "=MATCH(D2,{""DO"";""HS"";""FV""},0)>0"
[D1:D35].AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("F1:F2"), Unique:=False
Set pf = [_FilterDataBase]
pf.Offset(1, 0).Resize(pf.Rows.Count - 1).SpecialCells(12).EntireRow.Delete
ActiveSheet.ShowAllData
End Sub
1) Tu lances d'abord CREER_TEST
puis la seconde macro.

NB: La formule pour le critère sera en F2
 
- 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

Retour