Sub Suppression()
Dim derlig&, i&
derlig = ThisWorkbook.Worksheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row
With ThisWorkbook.Worksheets("Feuil1")
For i = 2 To derlig
If .Cells(i, 1).Value > Now() Then
.Cells(i, 1).EntireRow.Clear
End If
Next i
End With
End Sub
Bonjour pierrejean,Bonjour J-Paul
Un essai
Bien sûr,re
a tu compris pourquoi @Gégé-45550 ?
Sub RealSuppressionRowInRange()
Dim derlig&, i&
derlig = Cells(Rows.Count, 1).End(xlUp).Row
For i = derlig To 2
If Cells(i, 1).Value > Date - 1 Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub
Sub RealSuppressionRowInListObject()
Dim i&
With Range("Tableau1").ListObject
For i = .ListRows.Count To 1 Step -1
If .ListRows(i).Range(1).Value > Date - 1 Then
.ListRows(i).Delete
End If
Next i
End With
End Sub
Sub Suppressiononlyinrangefixe()
Dim derlig&, i&
derlig = Cells(Rows.Count, 1).End(xlUp).Row
With Range("A1:d" & derlig)
For i = 2 To .Rows.Count
If .Cells(i, 1).Value > Now() Then
.Rows(i).Clear
End If
Next i
End With
End Sub
Parfaitement d'accord avec toi, mais bon, comme fichier de test, on avait une douzaine de lignes toutes seules ; après, c'est au demandeur de préciser correctement son besoin et d'avertir s'il y a des précautions à prendre en dessous et à côté ... ce qui n'enlève rien à la pertinence de toutes tes remarques.re
et je vois même un 3 eme problème même avec une boucle a reculons et même avec clearcontents
tu clear la ligne complète
il se peut que le tableau fasse x colonnes et qu'a coté ( à draite il y ai d'autre données (ex:un autre tableau)
resultat tu bousille le tableau d'a coté aussi
comme quoi une question simple peut bien en succiter quelques autres
donc sur un range avec la methode clearr il faudrait travailler sur un tableau et non une colonne
et suprimer le ".rows(i) de la plage " et non la "cells(i,1).entirerow de la feuille "
ce n'est pas du tout la même chose
exemple
VB:Sub Suppressiononlyinrangefixe() Dim derlig&, i& derlig = Cells(Rows.Count, 1).End(xlUp).Row With Range("A1:d" & derlig) For i = 2 To .Rows.Count If .Cells(i, 1).Value > Now() Then .Rows(i).Clear End If Next i End With End Sub
les ligne supprimées dans A ne seront pas supprimées dans le reste des colonnes de la feuille