Supprimer ligne avec condition date

Bonjour à tous !

J'aimerais avoir une fonction qui regarde toute ma colonne S, si la date est "00/01/1900", j'aimerais supprimer la ligne entière.

La colonne "S" est de format Date.

Pouvez-vous m'aider ?

Sub Supprimerligne2()

    Sheets("SPT&QDS").Select
    Dim n As Integer

    Application.ScreenUpdating = False

    For n = Range("S3500").End(xlUp).Row To 1 Step -1
        If (Range("S" & n) = "00/01/1900") Then
            Rows(n).Delete
        End If

    Next n

End Sub

Bonjour,

Voici

Sub SupprimerLignesSansDateAvecFiltre()
    Dim ws As Worksheet
    Dim lastRow As Long

    ' Définir la feuille
    Set ws = ThisWorkbook.Sheets("SPT&QDS")

    ' Désactiver le rafraîchissement de l'écran pour améliorer les performances
    Application.ScreenUpdating = False

    ' Trouver la dernière ligne de la colonne S
    lastRow = ws.Cells(ws.Rows.Count, "S").End(xlUp).Row

    ' Appliquer le filtre sur la colonne S pour les cellules non vides
    ws.Range("S1:S" & lastRow).AutoFilter Field:=1, Criteria1:="="

    ' Supprimer les lignes visibles résultantes
    On Error Resume Next
    ws.Range("S2:S" & lastRow).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    On Error GoTo 0

    ' Retirer le filtre
    ws.AutoFilterMode = False

    ' Réactiver le rafraîchissement de l'écran
    Application.ScreenUpdating = True
End Sub

Bonjour,

Merci de votre aide ! Et je m'excuse du délai de réponse, je n'était pas disponible :)

Quand je lance la fonction, elle se run mais rien ne se passe...

Voici donc le fichier type :

9classeur3.zip (292.53 Ko)

Bonjour,

Votre colonne S est vide...

Excusez ma question bete mais comment voulez-vous trier sur des cellules vides ?

image

Ah oui pardon, c'est une erreur de ma part !

Veuillez m'excuser ://

Voici le bon fichier :

6classeur3.zip (365.70 Ko)

Bonjour,

Voilà pourquoi c'est toujours bien de mettre un fichier, dans ce cas, il va falloir faire autrement, mais plus simple

Si on part du principe que vous n'utilisez pas les tableaux structurés (dommage)
et que toutes les lignes avec date "00/01/1900" sont des lignes qui n'ont pas de donnée de A à E, voici le code tout simple

Sub SupprimerLigneDate1900()
  Dim FinLigType As Long, FinLigDate As Long
  With ThisWorkbook.Sheets("SPT&QDS")
    FinLigType = .Range("A" & Rows.Count).End(xlUp).Row
    FinLigDate = .Range("S" & Rows.Count).End(xlUp).Row
    Rows(FinLigType + 1 & ":" & FinLigDate).Delete Shift:=xlUp
  End With
End Sub

A+

Merci beaucoup !

Le code fonctionne du feu de dieu :)

Rechercher des sujets similaires à "supprimer ligne condition date"