Supprimer les lignes antérieures à une date donnée [VBA]
Résolu
Fitz_Chev
-
Fitz_Chev -
Fitz_Chev -
Bonjour,
Dans le cadre d'une de mes macros, je souhaite, comme indiqué dans le titre, supprimer toutes mes lignes antérieures à une date spécifique.
J'ai déjà préparer un petit quelque chose mais je ne comprends pas car quand je lance ma macro, il me supprime toutes mes lignes, même celle postérieures ou égales à ma date. Pour info, ma date est en colonne C, bien entendu en format date, et mon tableau a des en-têtes.
Voici ce que j'ai fait:
Si vous avez besoin d'un fichier exemple, dites le moi.
Merci d'avance
Dans le cadre d'une de mes macros, je souhaite, comme indiqué dans le titre, supprimer toutes mes lignes antérieures à une date spécifique.
J'ai déjà préparer un petit quelque chose mais je ne comprends pas car quand je lance ma macro, il me supprime toutes mes lignes, même celle postérieures ou égales à ma date. Pour info, ma date est en colonne C, bien entendu en format date, et mon tableau a des en-têtes.
Voici ce que j'ai fait:
Sub test()
saisie_date:
Date_CA = InputBox(Chr(13) & Chr(10) & Chr(13) & Chr(10) & " Saisissez la date du fichier de surcos (format JJ/MM/AAAA)", "Saisie de la date", Format(Date, "dd/mm/yyyy"))
If Date_CA = "" Then
Exit Sub
End If
If Not IsDate(Date_CA) Then
MsgBox "Format de date saisie incorrect !"
GoTo saisie_date
End If
If Date_CA <> Format(Date_CA, "dd/mm/yyyy") Then
MsgBox "le format doit être jj/mm/aaaa !"
GoTo saisie_date
End If
For n = [C65000].End(xlUp).Row To 2 Step -1
If Range("C" & n).Value < Date_CA Then Range("C" & n).EntireRow.Delete
Next n
End Sub
Si vous avez besoin d'un fichier exemple, dites le moi.
Merci d'avance
A voir également:
- Supprimer les lignes antérieures à une date donnée [VBA]
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Fichier impossible à supprimer - Guide
- Supprimer les données de navigation - Guide
- Comment supprimer une application préinstallée sur android - Guide
1 réponse
Bonjour
ton pb vient du fait que la valeur de date de l'inputbox se transforme en date anglophone
02/04/2016 te renvoie 04/02/2016 !
ci joint une petite maquette à adapter à ton contexte en utilisant un userform avec un combobox: les dates inférieures à la date choisie sont supprimées
attention le combobos renvoie la date sous forme de string
MAIS:
le + simple (à mon avis ) serait de mettre dans ta feuille une à validation de donnée reprenant les dates ou d'inscrire la date dans une cellule
la maquette
http://www.cjoint.com/c/FCyiwNWEn8t
ton pb vient du fait que la valeur de date de l'inputbox se transforme en date anglophone
02/04/2016 te renvoie 04/02/2016 !
ci joint une petite maquette à adapter à ton contexte en utilisant un userform avec un combobox: les dates inférieures à la date choisie sont supprimées
attention le combobos renvoie la date sous forme de string
MAIS:
le + simple (à mon avis ) serait de mettre dans ta feuille une à validation de donnée reprenant les dates ou d'inscrire la date dans une cellule
la maquette
http://www.cjoint.com/c/FCyiwNWEn8t
Range("R1").Select ActiveCell = Date_CA Range("R1").Value = Format(Range("R1").Value, "dd/mm/yyyy")