Microsoft 365 Supprimer ligne dont les valeurs sont dans une liste

akira21

XLDnaute Junior
Bonjour,

J'ai ma feuille "cockpit" qui comporte un tableau avec dans la colonne E, mes valeurs à contrôler
J'ai une liste dans ma feuille "liste" avec les valeurs à contrôler et donc supprimer la ligne entière si trouvé dans la feuille "Cockpit"

Savez vous comment faire ?

Merci d'avance pour votre aide :)
 

Pièces jointes

  • Classeur1.xlsx
    53.5 KB · Affichages: 7
Solution
Bonjour Akira,
Un essai en PJ avec :
VB:
Sub Supprimer()
Application.ScreenUpdating = False
    ActiveSheet.UsedRange.Columns(2).EntireColumn.Insert 'insère une colonne auxiliaire
    DL = Sheets("Cockpit").Range("F65500").End(xlUp).Row
    With ActiveSheet.Range("B7:B" & DL)
            .FormulaR1C1 = "=IF(COUNTIF(Liste!C,Cockpit!RC[4])>0,1,"""")"
            .Value = .Value 'supprime les formules
            .EntireRow.Sort .Cells, xlDescending  'tri pour regrouper et accélérer
            On Error Resume Next 'si aucune SpecialCell
            .SpecialCells(xlCellTypeConstants, 1).EntireRow.Delete
            .EntireColumn.Delete 'supprime la colonne auxiliaire
    End With
With ActiveSheet.UsedRange: End With 'actualise les barres de...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Akira,
Un essai en PJ avec :
VB:
Sub Supprimer()
Application.ScreenUpdating = False
    ActiveSheet.UsedRange.Columns(2).EntireColumn.Insert 'insère une colonne auxiliaire
    DL = Sheets("Cockpit").Range("F65500").End(xlUp).Row
    With ActiveSheet.Range("B7:B" & DL)
            .FormulaR1C1 = "=IF(COUNTIF(Liste!C,Cockpit!RC[4])>0,1,"""")"
            .Value = .Value 'supprime les formules
            .EntireRow.Sort .Cells, xlDescending  'tri pour regrouper et accélérer
            On Error Resume Next 'si aucune SpecialCell
            .SpecialCells(xlCellTypeConstants, 1).EntireRow.Delete
            .EntireColumn.Delete 'supprime la colonne auxiliaire
    End With
With ActiveSheet.UsedRange: End With 'actualise les barres de défilement
[A1].Select
End Sub
 

Pièces jointes

  • Classeur1 (47).xlsm
    86.6 KB · Affichages: 4

Hasco

XLDnaute Barbatruc
Bonjour,

Dans le fichier joint, un test par formule vous dira si la ligne est à supprimer (1) ou non (0).
il vous suffit de trier sur cette valeur en ordre descendant pour avoir tous les 1 en haut puis de supprimer les lignes.

Le test est en colonne D mais vous pouvez le mettre en bout de tableau

Cordialement
 

Pièces jointes

  • Classeur1.xlsx
    63.4 KB · Affichages: 3

akira21

XLDnaute Junior
Bonjour,

Dans le fichier joint, un test par formule vous dira si la ligne est à supprimer (1) ou non (0).
il vous suffit de trier sur cette valeur en ordre descendant pour avoir tous les 1 en haut puis de supprimer les lignes.

Le test est en colonne D mais vous pouvez le mettre en bout de tableau

Cordialement

Bonjour Roblochon et Sylvanu

C'est exactement ce que je recherchais.

Un grand merci et bonne journée :)
 

Discussions similaires

Réponses
14
Affichages
1 K
Haut Bas