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

Microsoft 365 Supprimer ligne dont les valeurs sont dans une liste

akira21

XLDnaute Occasionnel
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
Repose en paix
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 Occasionnel

Bonjour Roblochon et Sylvanu

C'est exactement ce que je recherchais.

Un grand merci et bonne journée
 

Discussions similaires

Réponses
6
Affichages
425
Réponses
2
Affichages
424
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…