Macro suppresion de lignes sous condition

Fermé
arcasavoir - 14 mai 2013 à 19:22
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 14 mai 2013 à 20:27
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
A voir également:

2 réponses

f894009 Messages postés 17221 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 4 janvier 2025 1 712
14 mai 2013 à 19:55
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
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
Modifié par Mike-31 le 14/05/2013 à 20:28
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