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