XL 2013 Supprimer des lignes en fonction d'une date saisie

LucileP

XLDnaute Nouveau
Bonjour à tous,

Je viens de faire le tour du web, et je ne trouve pas de solutions à mon problème, donc j'essaie ici.
J'ai besoin de supprimer toutes les lignes d'une base de donnée à partir du moment où les cellules en colonne A contiennent une date APRÈS celle désirée.
J'ai tenté le code joint, mais il ne se passe rien quand je l'exécute...

Je suis preneuse de conseils si vous avez !
Merci beaucoup :)

Lucile

PS : je suis méga débutante sur VBA alors je prends aussi les explications de vos suggestions si vous avez le temps.
 

Pièces jointes

  • code suppr_entreeprog.PNG
    code suppr_entreeprog.PNG
    15.4 KB · Affichages: 57

Jacky67

XLDnaute Barbatruc
PS : je suis méga débutante sur VBA alors je prends aussi les explications de vos suggestions si vous avez le temps.
Bonjour & bienvenue,
Pour supprimer des lignes avec ce code, il faut commencer la lecteur par la fin .
Modifie cette partie de code
VB:
'.....
'.....
    If reponse = "" Then Exit Sub
    For i = Nblignes To 2 Step -1
        If Cells(i, colonne).Value > Cdate(reponse) Then
            Cells(i, colonne).EntireRow.Delete
        End If
    Next
'....
'....
Nb: Un classeur brouillon est toujours plus facile à exploiter qu'une image
 
Dernière édition:

LucileP

XLDnaute Nouveau
Merci beaucoup pour cette réponse rapide ! En revanche, il ne se passe toujours rien...
Je joins un extrait de mon fichier du coup, au cas où... J'ai besoin de supprimer toutes les lignes avec une entrée en juin. Je saisis donc dans l'input box "31/05/2019".

Quel est l'intérêt de commencer par la fin ?

Merci encore !
 

Pièces jointes

  • test synthese.xlsm
    44.5 KB · Affichages: 10

Jacky67

XLDnaute Barbatruc
RE..
Quand 2 dates à supprimer se suivent dans une boucle
for i= 1 to 100
La première est supprimée
La deuxième passe en premier et i étant égale à 2 la première ne sera plus contrôlée
Il faudra plusieurs passages pour arriver au bon résultat
 

Pièces jointes

  • test synthese.xlsm
    46.6 KB · Affichages: 21

65debutant

XLDnaute Nouveau
Bonsoir
je me permets de m'insérer dans votre discussion pour vous demander comment faire pour supprimer les lignes contenant une date avant celle désirée.
Par exemple, si jej'entre la date du 01/05/2019, comment modifier le VBA pour supprimer les dates antérieures
 

Jacky67

XLDnaute Barbatruc
Bonsoir
je me permets de m'insérer dans votre discussion pour vous demander comment faire pour supprimer les lignes contenant une date avant celle désirée.
Par exemple, si jej'entre la date du 01/05/2019, comment modifier le VBA pour supprimer les dates antérieures
Bonsoir,
Il suffit d'inverser le signe mathématique ">"
Dans cette exemple pour la colonne 1 de 100 lignes
VB:
Sub test()
Dim i&
Dim reponse As Variant
reponse = InputBox("Entrez une date de départ valide", "Saisie de la date")
If reponse = "" Then Exit Sub
For i = 100 To 2 Step -1
If Cells(i, 1).Value < CDate(reponse) Then
Cells(i, 1).EntireRow.Delete
End If
Next
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 769
Membres
101 816
dernier inscrit
Jfrcs