IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

supprimer une ligne en fonction d'une date [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut supprimer une ligne en fonction d'une date
    bonjour a tous,

    j'ai fait un code qui doit effacer une ligne si la date dans une cellule de la colonne E est inférieur à la date indiqué dans une variable

    et il ne se passe rien en fait

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub noel()
    Sheets("noel").Select
    Range("d1").Select
    Dim finperiode As Date, numdl As String, i As Long
    finperiode = InputBox("date de naissance maximal") ' pour saisir la date
    For i = 2 To Range("a65536").End(xlUp).Row
    If Range("e" & i).Value < finperiode Then Rows(i).Delete
    Next i
    End Sub
    merci pour votre aide

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim finperiode
    Dim i As Long
    finperiode = InputBox("date de naissance maximal") ' pour saisir la date
    If finperiode <> vbNullString Then
        If IsDate(finperiode) Then
            finperiode = CDate(finperiode)
            With Sheets("noel")
                For i = .Range("E65536").End(xlUp).Row To 2 Step -1
                    If DateDiff("d", finperiode, .Range("e" & i).Value) > 0 Then .Rows(i).Delete
                Next i
            End With
        End If
    End If
    EDIT: Attention quand même au type de donnée entré par l'utilisateur
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut
    merci
    mon erreur principale est d'avoir fait une boucle d'effacement de ligne en démarant de haut en bas, alors que c'est le contraire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Supprimer des lignes en fonction d'une variable en VBA
    Par JohnKel dans le forum Excel
    Réponses: 4
    Dernier message: 12/06/2015, 09h31
  2. [MySQL] Coloration d'une ligne en fonction d'une date base Mysql
    Par pombela dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/04/2011, 16h29
  3. [XL-2003] Supprimer une ligne en fonction d'une valeur de cellule
    Par FCL31 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 02/09/2009, 17h20
  4. Réponses: 11
    Dernier message: 10/03/2007, 02h01
  5. Recherche une ligne en fonction d'une date
    Par c+cool dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/09/2006, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo