Macro qui me supprime des lignes en fonction d'une valeur

Bonjour,

j'ai un fichier Exel composé d'une feuille suite à une importation d'une table d'un fichier Access et je voudrais faire du tri dans mes lignes.

Je voudrais faire une macro qui me permette de supprimer les lignes entières dans ma feuille si la cellule de la colonne "VISIBLE" = FAUX et également supprimer les lignes entières dont la valeur de la cellule de la colonne COMMUNE = "Corréze" ou "Charente", ou "Charente Maritime".

Vous trouverez le fichier ici :

Dans mon fichier il n'y a que quelques lignes, or ma feuille contient entre 1000 et 1500 lignes.

Merci d'avance.

Bonjour,

Sub SupprimerLignes()
Dim DerLig As Long, Ligne As Long
Const ColVisible = 18
Const ColCommune = 4
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")
        DerLig = .Range("A" & Rows.Count).End(xlUp).Row
        For Ligne = DerLig To 2 Step -1
           If UCase(.Cells(Ligne, ColCommune)) = "CORRÉZE" Or _
            UCase(.Cells(Ligne, ColCommune)) = "CHARENTE" Or _
            UCase(.Cells(Ligne, ColCommune)) = "CHARENTE MARITIME" Or _
            UCase(.Cells(Ligne, ColVisible)) = "FAUX" Then .Rows(Ligne).Delete
        Next Ligne
    End With
    Application.ScreenUpdating = True
End Sub

A+

frangy a écrit :

Bonjour,

Sub SupprimerLignes()
Dim DerLig As Long, Ligne As Long
Const ColVisible = 18
Const ColCommune = 4
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")
        DerLig = .Range("A" & Rows.Count).End(xlUp).Row
        For Ligne = DerLig To 2 Step -1
           If UCase(.Cells(Ligne, ColCommune)) = "CORRÉZE" Or _
            UCase(.Cells(Ligne, ColCommune)) = "CHARENTE" Or _
            UCase(.Cells(Ligne, ColCommune)) = "CHARENTE MARITIME" Or _
            UCase(.Cells(Ligne, ColVisible)) = "FAUX" Then .Rows(Ligne).Delete
        Next Ligne
    End With
    Application.ScreenUpdating = True
End Sub

A+

Merci beaucoup ca fonctionne trés bien !!

Rechercher des sujets similaires à "macro qui supprime lignes fonction valeur"