Supprimer des lignes filtrées: Colonne inexistante

Bonjour à tous,

Alors voilà je suis novice sur Excel VBA et j'ai un petit problème avec la suppression de lignes filtrées.

Voilà le code:

Dim dbl_lastcolumn10 As Double
Dim r As Double
Dim dbl_FCMG As Double
dbl_lastcolumn10 = ActiveSheet.Cells(1, 100).End(xlToLeft).Column
For r = 1 To dbl_lastcolumn10
If Cells(1, r).Value = "FTMG" Then
dbl_FCMG = r
r = dbl_lastcolumn10
End If
Next r
Cells(1, dbl_FCMG).Select

Selection.AutoFilter
    ActiveSheet.Range(Cells(1, dbl_FCMG), Cells(100000, dbl_FCMG)).AutoFilter Field:=dbl_FCMG, Criteria1:= _
        "<=0.999", Operator:=xlAnd

Dim dep7 As Range
With Range("_FilterDataBase")
Set dep7 = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).SpecialCells(xlCellTypeVisible)
End With
dep7.EntireRow.Delete
Selection.AutoFilter

Mon problème, c'est que cette colonne que je cherche: FTMG, bah il se peut qu'elle n'existe pas dans mon tableur. J'ai donc mis au début de ma macro un: "On Error Resume Next", et du coup il me pose pas de problème quand il se rend compte que la colonne n'existe pas, mais par contre, à la ligne "EntireRow.Delete", bah vu que le filtre est activé et que TOUTES mes lignes sont visibles (car non filtrées) bah il me supprime tout !!!

Auriez-vous une solution pour peut-être par exemple sauter l'étape après Cells(1,dbl_FCMG) si justement la variable r ne vaut pas FCMG, ou alors autre chose ?

Je vous remercie par avance et vous souhaite une bonne journée

Bonjour,

Essaie comme cela

Sub Test()
Dim dbl_lastcolumn10 As Double
Dim C As Range, dep7 As Range
    dbl_lastcolumn10 = ActiveSheet.Cells(1, 100).End(xlToLeft).Column
    Set C = Range("A1").Resize(, dbl_lastcolumn10).Find("FTMG", , xlValues, xlWhole)
    If Not C Is Nothing Then
        C.AutoFilter
        C.Resize(100000).AutoFilter Field:=C.Column, Criteria1:="<=0.999", Operator:=xlAnd
        With Range("_FilterDataBase")
            Set dep7 = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).SpecialCells(xlCellTypeVisible)
        End With
        dep7.EntireRow.Delete
        Selection.AutoFilter
    End If
End Sub

A+

Bonjour CaptainMikou, bonjour le forum,

Une piste :

Public Sub Macro2()
Dim O As Worksheet
Dim R As Range

Set O = ActiveSheet
Set R = O.Rows(1).Find("FTMG", , xlValues, xlWhole)
If Not R Is Nothing Then
    'la suite de ton code que je comprends pas...
End If
End Sub

Bonjour à tous,

Merci pour vos réponses rapides !!

Et.... CA MARCHE .

Merci beaucoup Frangy.

Merci à vous aussi ThauThème !

Bonne journée à vous !

Rechercher des sujets similaires à "supprimer lignes filtrees colonne inexistante"