[VBA] Erreur 1004 - Delete Classe range

mirmoleboss Messages postés 309 Statut Membre -  
 Copyright -
Bonjour,

J'ai un petit problème avec l'utilisation d'une formule de suppression j'obtiens une erreur 1004: La méthode Delete de la classe range à échoué

Sheets("4-Dependencies").Activate ' Activation de la feuille 4-Dependencies

For n = ActiveSheet.Range("C" & Columns.Count).End(xlUp).Row To 1 Step -1

If ActiveSheet.Range("C" & n).Value = ID Then ActiveSheet.Rows(n).Delete

Next n

C'est l'expression "ActiveSheet.Rows(n).Delete"qui est surlignée en jaune.
Ce que je ne comprends pas trop c'est que lorsque je fais appel à cette instruction sur des données déjà existantes ca marche mais si je l'utilise après avoir utilisé ma fonction d'ajout de donnée ca ne marche pas.

Est-ce quelqu'un peut m'aider?
Merci.

2 réponses

  1. Copyright
     
    Au moins mets un petit remerciement pour le forum developpez.net
    5
  2. mirmoleboss Messages postés 309 Statut Membre 17
     
    La solution étant la suivante:

    Dim N As Long

    Application.ScreenUpdating = False
    With Sheets("4-Dependencies")
    .AutoFilterMode = False
    N = .Range("C" & .Rows.Count).End(xlUp).Row
    .Range("C1:C" & N).AutoFilter field:=1, Criteria1:=ID
    If .Range("C1:C" & N).SpecialCells(xlCellTypeVisible).Count > 1 Then .Range("C2:C" & N).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    .AutoFilterMode = False
    End With
    1