Suppression automatique d'une date perimé avec macro

Résolu/Fermé
peter - 17 déc. 2014 à 00:22
 peter - 10 janv. 2015 à 13:31
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

A voir également:

7 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
17 déc. 2014 à 09:04
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
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
24 déc. 2014 à 05:38
Bonjour,

les dates sont elles issues de formules, saisies manuellement ou par un coiper (ou couper)- coller ?
0
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
3 janv. 2015 à 10:35
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
oui evidemement
les dates sont saisies manuellement
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 janv. 2015 à 17:05
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
peter > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
4 janv. 2015 à 18:25
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 5/01/2015 à 09:01
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
veux tu indiquer le code stp
je trouve nul part
merci
0
de quel code parle tu???
0