supprimer les lignes dont la troisième cellule commence par...

napo124

XLDnaute Junior
Bonjour!

J'ai une base de données de 30 000 lignes que j'aimerais bien dégarnir un peu d'autant plus qu'elle est mis à jour régulièrement.
La 1ère ligne correspond aux titres des colonnes, et la troisième colonne (C)donne le nom des éléments.
C'est justement à partir de cette troisième colonne que j'aimerais trier ma base de donnée. Toutes les lignes dont la cellule en C commencent par "R" ou"PROTO" doivent etre supprimées (sans laisser de lignes vides en plein milieu de ma base de données.

Une petite macro ou vba? (doucement, je ne suis qu'apprenti !) :)

Merci à vous!

Napo124
 

jetted

XLDnaute Occasionnel
Re : supprimer les lignes dont la troisième cellule commence par...

Peux-etre ceci peux etre utile

Code:
Sub delt()
    RowCount = Cells(Cells.Rows.Count, "c").End(xlUp).Row
    For r = RowCount To 1 Step -1
        Range("C" & r).Select
        verif = ActiveCell.Value
        verif1 = Left(verif, 1)
        verif2 = Left(verif, 5)
        If verif1 = "R" Or verif2 = "PROTO" Then
            Rows(r).Delete
        End If
    Next r
End Sub
 

vbacrumble

XLDnaute Accro
Re : supprimer les lignes dont la troisième cellule commence par...

Bonjour à tous


En utilisant le filtre automatique

Code:
Sub SupRPROTO()
Dim r As Range, pf As Range
With ActiveSheet
    Set r = .Columns(3).SpecialCells(xlCellTypeConstants, 23)
        .Range("C2:C" & .[C65536].End(xlUp).Row).SpecialCells(xlCellTypeBlanks).Value = "£££"
        .Range("C1").AutoFilter 1, "=R*", xlOr, "=PROTO*"
    Set pf = .Range("_FilterDataBase")
    pf.Offset(1, 0).Resize(pf.Rows.Count - 1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    .AutoFilterMode = False
    Set r = .Columns(3).SpecialCells(xlCellTypeConstants, 23)
        For Each c In r
            If c = "£££" Then c.ClearContents
        Next
End With
End Sub
 

napo124

XLDnaute Junior
Re : supprimer les lignes dont la troisième cellule commence par...

Je vous remercie de vos réponses, mais j'ai 2 questions:
-Ces formules permettent elles de bien SUPPRIMER les lignes (et non pas de juste les masquer)?
-Et surtout comment met on en place ces codes (je copier et colle dans la fenetre VBA excel et j'enregistre ?)

Merci de vos réponses:)
 

vbacrumble

XLDnaute Accro
Re : supprimer les lignes dont la troisième cellule commence par...

Bonjour


Oui : Delete = Supprimer , Effacer

Hidden=True => Masquer

Par conséquent tes lignes seront supprimées irrémédiablement.

Pour utiliser les macros:
1) Edition/Copier
2/ ALT+F11 ->Insertion/Module
3) Edition/Copier Coller
 

Discussions similaires

Haut Bas