[VBA] Erreur 1004 - Delete Classe range

[Fermé]
Signaler
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011
-
 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

Au moins mets un petit remerciement pour le forum developpez.net
5
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011
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