Erreur 1004 Méthode de suppression de la class Range échoué

Lorsque je commence une nouvelle sécession, je souhaite supprimer les anciennes données entre des feuilles spécifiques. (Entre vert et rouge). Malheureusement, je reçois ce message d'erreur et je ne peux pas comprendre ce que je fais mal.

"Erreur 1004 méthode de suppression de la class Range échoué"

Aidez-nous! Merci.

'----------------------------- Sub Test() '----------------------------- Dim ws As Worksheet Dim lRow As Long, lCol As Long Dim Rng As Range Dim beginIdx As Integer, endIdx As Integer '-- Get the 'Green' and 'Red' indexses in the active workbook . beginIdx = ActiveWorkbook.Sheets("Green").Index + 1 endIdx = ActiveWorkbook.Sheets("Red").Index - 1 '-- Delete old data between 'Green' and 'Red' tabs For J = beginIdx To endIdx '-- Set this to the relevant worksheet Set ws = ActiveWorkbook.Sheets(J) With ws '-- Get the last row and last column lRow = .UsedRange.SpecialCells(xlCellTypeLastCell).row lCol = .Cells(1, .Columns.Count).End(xlToLeft).Column '-- Set the sheet range to delete old data leaving the headings intact Set Rng = .Range(.Cells(2, 1), .Cells(lRow, lCol)) Application.DisplayAlerts = False ' Get rid of pop-up message With Rng '-- Now delete the old data from the sheet .EntireRow.Delete End With Application.DisplayAlerts = True ' Back to normal End With Next J End Sub 

Cela fonctionne maintenant. Je dois simplement inclure:
* Si une déclaration pour vérifier la valeur lRow est> 2
* Augmenter la valeur de la cellule Range de 2 -> 3 (Set Rng = .Range (.Cells (3,1) …)

 '----------------------------- Sub Test() '----------------------------- Dim ws As Worksheet Dim lRow As Long, lCol As Long Dim Rng As Range Dim beginIdx As Integer, endIdx As Integer '-- Get the 'Green' and 'Red' indexses in the active workbook . beginIdx = ActiveWorkbook.Sheets("Green").Index + 1 endIdx = ActiveWorkbook.Sheets("Red").Index - 1 '-- Delete old data between 'Green' and 'Red' tabs For J = beginIdx To endIdx '-- Set this to the relevant worksheet Set ws = ActiveWorkbook.Sheets(J) With ws '-- Get the last row and last column lRow = .UsedRange.SpecialCells(xlCellTypeLastCell).row lCol = .Cells(1, .Columns.Count).End(xlToLeft).Column '-- Set the sheet range to delete old data leaving the headings intact If lRow > 2 Then Set Rng = .Range(.Cells(3, 1), .Cells(lRow, lCol)) Application.DisplayAlerts = False ' Get rid of pop-up message With Rng '-- Now delete the old data from the sheet .EntireRow.Delete End With End If Application.DisplayAlerts = True ' Back to normal End With Next J End Sub