Supprimer des lignes en fonction des valeurs des cellules d'une autre colonne

Rhiannon51

XLDnaute Nouveau
Bonjour le forum,

Je vais essayer d'être le plus clair possible pour vous expliquer ma problématique.

J'ai un 1er onglet avec une longue liste de code correspondant à des cours. J'ai un 2ème onglet avec une liste des codes de cours à supprimer.
Je voudrais donc supprimer, dans mon 1er onglet, les lignes contenant les codes cours présent dans ma liste du 2ème onglet.

Voici ce que j'ai bidouillé comme code, mais qui malheureusement ne fonctionne pas :

Code:
Dim Cours, Supp As Range
Set Cours = Sheets(1).Range("F:F")
Set Supp = Sheets(2).Range("A2").End(xlDown)
For Each cell1 In Cours
For Each cell2 In Supp
If cell1.Value = cell2.Value Then
cell1.EntireRow.Delete
GoTo suite
End If
Next cell2
suite:
Next cell1

Merci de m'éclairer de vos lumières.

Rhiannon.
 

mth

XLDnaute Barbatruc
Re : Supprimer des lignes en fonction des valeurs des cellules d'une autre colonne

Bonjour,

Un essai avec ce code:

Code:
Sub Macro1()
With Sheets("Feuil1")
derlig = .Cells(Rows.Count, 6).End(xlUp).Row
    .Range("g2:g" & derlig) = "=MATCH(RC[-1],Feuil2!C[-6],0)"
    On Error Resume Next
    .Columns("g:g").SpecialCells(xlCellTypeFormulas, 16).EntireRow.Delete
    .Columns("g:g").ClearContents
End With
End Sub

... mais ça serait quand même plus simple avec un extrait de fichier pour voir de quoi il retourne exactement ...

Bonne journée,

mth
 

TempusFugit

XLDnaute Impliqué
Re : Supprimer des lignes en fonction des valeurs des cellules d'une autre colonne

Bonjour


Tu peux aussi utiliser le filtre élaboré pour supprimer tes lignes.
Et tu peux le faire (par macro ou pas)

Par macro, cela peut donner
Code:
Sub Macro1()
Range("A1:B357").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Sheets("SUPP").Range("A1:A20"), Unique:=False
        Range("_FilterDatabase").Offset(1, 0).Resize(Range("_FilterDatabase").Rows.Count - 1).EntireRow.Delete
ActiveSheet.ShowAllData
End Sub

Il faut avant mettre en A1 de la feuille SUPP: Code cours
(Il faut que les entête du critère soit le même que celui de la colonne à filtrer)
 
Dernière édition:

mth

XLDnaute Barbatruc
Re : Supprimer des lignes en fonction des valeurs des cellules d'une autre colonne

re :)

Peut-être comme ceci du coup (exemple parmi d'autres):
Code:
Sub Macro1()
With Sheets("Rapport 1")
derlig = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range("C2:C" & derlig) = "=MATCH(RC[-2],SUPP!C[-2],0)"
    On Error Resume Next
    .Columns("C:C").SpecialCells(xlCellTypeFormulas, 7).EntireRow.Delete
    .Columns("C:C").ClearContents
End With
End Sub

@ +

mth
 

Rhiannon51

XLDnaute Nouveau
Re : Supprimer des lignes en fonction des valeurs des cellules d'une autre colonne

Un grand merci à tous les 2.

Vos 2 codes marchent comme je le souhaite.
Avec vos 2 méthodes, il y a bien 9 cours de supprimer.

Le forum aura encore été d'une aide précieuse :)

Bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 974
dernier inscrit
chmikha