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

  • Initiateur de la discussion Initiateur de la discussion LucileP
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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: 70
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:
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

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

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
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour