Suppression automatique d'une date perimé avec macro

Résolu/Fermé
peter -  
 peter -
Bonjour,
je cherche un algorithme (macro ) qui me permetterai de vider les cellules d'une colonne X une fois la date est perimée. ces cellules peuvent etre vides ou remplies par des dates
merci pour votre aide

7 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Je pense que tu peux faire cela avec des formules. Par macro voici le code à mettre dans un UserForm :

    Private Sub UserForm_Initialize()
    Label1.Caption = Date
    TextBox1.Text = Date - 1 ' a adapter
    If TextBox1.Text < Label1.Caption Then
    MsgBox "Perime"
    'mettre le code pour supprimer les cellules
    End If
    End Sub
    


    C'est juste la marche à suivre, a adapter avec un bouton
    0
  2. peter
     
    merci pour le temps que vous me consacrez.
    le pb c'est que je veux pas utiliser de bouton , juste definir une plage sur laquelle la macro va etre executée et une fois la date d'une cellule sera inferieure a la date d'aujourd'hui la cellulle se vide automatiquement
    j'espere que je vous apporte plus de details mnt.
    merci
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour,

      les dates sont elles issues de formules, saisies manuellement ou par un coiper (ou couper)- coller ?
      0
  3. Maurice
     
    Bonjour

    Voila une macro a toi de la mettre en forme car sans model et sans reference de colonne dur

    Sub TestDate()
    MaDate = DateValue(Now)
    Col = 1
    For L = 1 To Range("A" & Rows.Count).End(xlUp).Row
       Tdate = Cells(L, Col).Value
       If Tdate < MaDate And Tdate > 0 Then
          Cells(L, Col).Value = ""
       End If
    Next
    End Sub
    


    A+
    Maurice
    0
  4. peter
     
    merci pour votre aide
    le pb persiste tjrs, je veux preciser que les date en question peuvent etre n'importe ou sur une plage de (A5;G50)
    j'attend vos solutions et merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    j'attend vos solutions et merci


    D'accord, mais puis je caresser l'espoir d'avoir une réponse à ma demande de précisions du 24 décembre, sans vouloir abuser, bien sûr....
    0
  7. peter
     
    oui evidemement
    les dates sont saisies manuellement
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Pourquoi évidemment ? je n'ai pas de boule de cristal....

      il se pourrait sans explications correctes de ta part, que des dates soient le résultat de formules: dans ce cas, il arait fallut passer par un bouton d'où ma question

      donc...bonne semaine
      0
      1. peter > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
         
        bjrs michel
        tu as dit :
        puis je caresser l'espoir d'avoir une réponse à ma demande de précisions du 24 décembre...
        j'ai dit :
        oui evidement
        je vois po de raison pour que tu te fache contre moi
        0
  8. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    La solution est pratiquement identique sur l'aide Microsoft VBa avec la fonction "Find"
    Elle est indiquée. rubrique "range.find.methode"

    pour lancer sans bouton écrire la macro dans un module feuille
    et délimiter au départ la zone d'action
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range(laplageconcernée)) Is Nothing Then

    '..le code

    End If
    End Sub

    Pour accéder aumodule feuille
    clic droit sur le nom d'onglet-visualiser le code

    Michel
    0
    1. peter
       
      veux tu indiquer le code stp
      je trouve nul part
      merci
      0
    2. peter
       
      de quel code parle tu???
      0