Macro suppresion de lignes sous condition

arcasavoir -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Bonjour,
sous excel 2003, je voudrais créer une macro qui efface des lignes lorsque une cellule de ces lignes contient une valeur définie.

par exemple dans mon tableau, j'ai dans une colonnes des cellules contenant le texte Homme ou Dame.
je voudrais effacer toutesles ligne concernat les hommes.

Pouvez vous m'aider je suis perdu en visaul basic

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Adaptez le nom de feuille et la colonne, code a mettre dans un module

    Sub test()
        With Worksheets("feuil1")
            'ligne derniere cellule non vide feuille1,colonne A
            derlig = .Range("A" & Rows.Count).End(xlUp).Row
            For x = derlig To 1 Step -1
                'test en majuscule pour eviter difference d'ecriture
                If UCase(.Range("A" & x)) = "HOMME" Then
                    'supprime les lignes
                    'Rows(x).Delete
                    'efface le contenu des lignes
                    Rows(x).Clear
                End If
            Next x
        End With
    End Sub


    Bonne suite
    0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    tu ne donnes pas trop d'explications sur la structure de ton projet, en supposant que la colonne à traiter est la colonne B et commence en B2 et les lignes à supprimer contiennent en colonne B le mot homme

    Option Explicit

    Sub test()
    Dim I As Integer
    Application.ScreenUpdating = False
    For I = Range("B" & Rows.Count).End(xlUp).Row To 2 Step -1
    If Range("B" & I).Value Like "homme" Then Rows(I).Delete
    Next I
    Application.ScreenUpdating = True
    End Sub

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0