Excel - Macro - Supprimer ligne si G = "NON"

AstridG -  
 AstridG -
Bonjour à tous,

J'ai vu plusieurs discutions sur le sujet et la réponse à l'air évidente, mais je ne trouve pour autant pas la solution à mon problème...

J'ai crée un fichier excel et je voudrait supprimer toutes les lignes dont la colonnes G= "NON", je n'arrive pas à programmer la macro... Pouvez vous m'aider ?

En vous remerciant par avance :)


A voir également:

2 réponses

f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,

Sub Supp_lig_NON_G()
    Dim Col_G As Range
    Dim NL As Long, Derlig As Long, lig As Long, NBre As Long
    Dim Mot As String
    
    On Error GoTo fin
    
    Application.ScreenUpdating = False

    With Worksheets("feuil1")       'nom de feuille a adapter
        Derlig = .Columns("G").Find("*", , , , , xlPrevious).Row        'derniere cellule non vide colonne G
        Mot = "NON"
        'Definition Plage de cellule pour recherche occurences dans SubRoutine reporter
        Set Col_G = .Range("G1:G" & Derlig)
    
        'nombre d'occurence
        NBre = Application.CountIf(Col_G, Mot)
        If NBre > 0 Then    'si au moins 1
            'boucle de recherche
            For NL = 1 To NBre
                lig = 1
                'lookat:=xlWhole valeur exacte
                'lookat:=xlPart valeur contenue dans la cellule, ou la feuille par défaut
                lig = .Columns("G").Find(Mot, .Cells(lig, "G"), , lookat:=xlWhole).Row
                'Effacement ligne
                .Rows(lig).Delete
            Next NL
        End If
    End With
    Set Col_G = Nothing
fin:
    Application.ScreenUpdating = True
End Sub
0
AstridG
 
Merci beaucoup je vais essayer ça!
0
michel_m Messages postés 18903 Statut Contributeur 3 318
 
Bonjour

autre méthode par récursivité..

Option Explicit
'-------------
Sub vvv()
Dim Mot As String, Lig As Long

Application.ScreenUpdating = False
On Error GoTo fin
Mot = "NON"
Lig = Columns("G").Find(what:=Mot, lookat:=xlWhole).Row
Rows(Lig).Delete
Call vvv
fin:
MsgBox "suppression du mot " & "Mot" & " terminée"
End Sub



0
AstridG
 
Merci Michel je vais essayer votre méthode!
0