Bonjour, le code suivant permet de supprimer une ligne d'un tableau si une date n'est pas comprise dans une certaine plage :
Sub TriDate()
NbLin = Application.WorksheetFunction.CountA(Sheets("Analyse").Range("$A:$A"))
Dim n As Long
n = 2
While n <= NbLin
If Not (CDate(Sheets("Analyse").Cells(n, 4)) >= CDate(Sheets("MACRO").Cells(15, 2)) And CDate(Sheets("Analyse").Cells(n, 4)) <= CDate(Sheets("MACRO").Cells(15, 4))) Then
MsgBox n
Sheets("Analyse").Rows(n).EntireRow.Delete
Else
n = n + 1
End If
Wend
End Sub
J'obtiens alors l'erreur 1004 : la méthode delete de la classe range a échoué lorsqu'une ligne doit être supprimée... Est-ce dû à la nature de n ? Car quand j'utilise la fonction dans une boucle For, elle fonctionne bien. Mais bon j'en ai besoin dans une boucle while :)
Cordialement