Problème de comparaison avec date du jour

Bonjour le forum, bonjour à tous,

je reviens vous voir, car j'ai un soucis qui se pose pour une simple macro visant à supprimer une ligne dont la case en colonne D ne contient pas la date du jour (uniquement les 2 chiffres du jour en fait).

Par exemple, si dans ma colonne D j'ai plusieurs chiffres à la suite, j'aimerais que ma macro efface toutes les lignes qui ne commencent pas par 29 (date du jour).

Ex:

ligne 1 colonne D: 24.485.63

ligne 2 colonne D: 29.248.96

ligne 3 colonne D: 26.248.96

La, j'aimerais que les lignes 1 et 3 soient effacées et la ligne 2 conservée.

Je vous joins mon code qui me semble pourtant bon et sur lequel je me casse les dents depuis 2h:

Sub Supprimligne()
Dim numéro_ligne As Long

  numéro_ligne = 1

  While numéro_ligne <= Range("D" & Rows.Count).End(xlUp).Row
    If Left(Cells(numéro_ligne, 4).Value, 2) <> Day(Date) Then
    Rows(numéro_ligne & ":" & numéro_ligne).Select
    Selection.Clear
    End If
    numéro_ligne = numéro_ligne + 1
    Wend

End Sub

En espérant qu'un de vous ai une inspiration divine comme toujours .

Cordialement,

Jujel

Quelqu'un?

J'ai trouvé le soucis: je vous joins l'explication.

En fait c'est tout bidon, faut passer par une affectation de variable, car apparemment VBA ne veut pas comparer quelque chose directement avec Day(date).

Donc on affecte une variable numéro_jour as Date

numéro_jour = day(date)

Et on compare avec numéro_jour comme dans mon code précédent.

Merci à tous et à bientot!

Rechercher des sujets similaires à "probleme comparaison date jour"