Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA supression de ligne avec comparaison heures minutes secondes

jopont

XLDnaute Impliqué
Bonjour,

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

Merci pour votre aide
 

Pierrot93

XLDnaute Barbatruc
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

bonne journée
@+

Edition : Bonjour 00
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
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

A bientôt
 

jopont

XLDnaute Impliqué
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
 

Pierrot93

XLDnaute Barbatruc
Re : VBA supression de ligne avec comparaison heures minutes secondes

Re,

peut être ceci :
Code:
    If Cells(i, 3) < Cells(i, 4) Then Rows(i).Delete

A voir s'il y a lieu de combiner toutes les conditions.....
 

Discussions similaires

Réponses
7
Affichages
368
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…