J'ai une macro qui est chargé de supprimer des lignes.
Je cherche à supprimer les lignes avec les conditions suivantes :
Si la Cells(i,1) est VIDE
SI la Cells(i,1) est supérieure à 00:06:00 (le format est en personnalisé hh:mm:ss)
Sub deleteligne()
Application.ScreenUpdating = False
For i = [A65000].End(xlUp).Row To 1 Step -1
If Cells(i, 1) > "00:07:00" Then Rows(i).Delete
Next i
End Sub
Re : VBA supression de ligne avec comparaison heures minutes secondes
Bonjour,
essaye peut être ceci :
Code:
Option Explicit
Sub test()
Dim i As Long
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If IsEmpty(Cells(i, 1)) Or Cells(i, 1) > TimeSerial(0, 6, 0) Then Rows(i).Delete
Next i
End Sub
Re : VBA supression de ligne avec comparaison heures minutes secondes
Bonjour, jopont, Pierrot , le Forum,
Le code ci-dessous, bien moins concis que celui de Pierrot, semble fonctionner :
Code:
Sub Ligne_supprimer_si()
Dim i As Long
Application.ScreenUpdating = False
For i = Range("a" & Rows.Count).End(xlUp).Row To 1 Step -1
If Range("a" & i).Value > #12:06:00 AM# Then Rows(i).Delete
Next
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True
End Sub
Re : VBA supression de ligne avec comparaison heures minutes secondes
Ok merci, ça fonctionne.
Comment lui dire également, dans la même macro, que si l'heure de la colonne 4 est inférieure à la colonne 3, il faut supprimer la ligne.
(heure au format perso hh:mm:ss)
Merci