Macro pour éffacer une marque automatiquement en fonction d'une date sur une ligne

Michou9

XLDnaute Occasionnel
Bonjour

Dans mon tableau, je mets une marque (*) dans une cellule pour me rappeler qu’une mise à jour d’un article est en cours.

Lorsque cet article est mis à jour, je rentre la date de la mise à jour
Mais problème, j’oublis souvent d’enlever la marque (*)

Je me demande s’il saurait possible de composer une macro, qui automatiquement effacerait la marque (*) sur la ligne ou une date correspondrait à la date du jour (sans notion de l’heure)

J’envoi un petit exemple…

Si quelqu’un à une idée ?

Bonne journée
Merci d’avance
 

Pièces jointes

  • Repère automatique.xlsx
    10.3 KB · Affichages: 49
  • Repère automatique.xls
    21.5 KB · Affichages: 46

ERIC S

XLDnaute Barbatruc
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

Bonjour
à tester, code à mettre dans la feuille (pas dans un module)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Range(Target.Address), Range("B:H")) Is Nothing Then Exit Sub
If Target.Value = Date Then
    Cells(Target.Row, "I").Value = ""
End If
End Sub
 

ERIC S

XLDnaute Barbatruc
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

re

ajout du comptage de cellules sélectionnées, si plusieur = sortie
je pense que cela devrait suffire

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Application.Intersect(Range(Target.Address), Range("B:H")) Is Nothing Then Exit Sub
If Target.Value = Date Then
    Cells(Target.Row, "I").Value = ""
End If
End Sub
 

Michou9

XLDnaute Occasionnel
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

Rebonjour

Merci pour ton nouveau post

Plus de message d'erreur :)

Mais du coup, la macro n'est plus opérationnelle :mad:

Peut-être une petite erreur ???

A+
 

ERIC S

XLDnaute Barbatruc
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

Bonsoir

Journée jardinage......

voir fichier joint, sauf erreur cela marche
 

Pièces jointes

  • Repère automatiqueES.xls
    36.5 KB · Affichages: 61

Michou9

XLDnaute Occasionnel
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

Bonjour Eric

La macro marche parfaitement bien

Je l'ai installer dans mon tableau original

Cela fonctionne aussi très bien
En partie, a vrai dire !
Car je butte sur un problème auquel je n'avais pas songer :(

Au lieu de tester l'entrée de date sur une ligne dans la zone B:H
Serait-il possible de tester la cellule M de la ligne qui contient la fonction "Max" et qui va donc chercher la cellule la plus récente sur la même zone, mais aussi sur plusieurs ligne !

J'ai bien essayé de changer la macro, mais comme cette cellule change simplement de valeur et n'ai pas en fait une entrée, ça coince :mad:

(Belle journée pour du jardinage !)

A+
 

JBOBO

XLDnaute Accro
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

Bonjour michou 9, eric S,

Et pourquoi ne pas mettre simplement une mise en forme conditionnelle qui applique une police jaune dès qu'une date est entrée, ainsi jaune sur fond jaune l'* disparait, au moins visuellement. du genre =$G2<>""
 

ERIC S

XLDnaute Barbatruc
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

bonsoir

je suis d'accord avec toi JBOBO, si le problème consiste à "enlever" visuellement l'astérisque. par contre si on veut pouvoir utiliser les filtres par exemple, il faut réellement supprimer le signe.

il faut que Michou précise son pb réel. sinon Michou, il n'y a rien en M dans ton fichier exemple. tu parles de max, de plus récente : précise, avec un exemple
 

Michou9

XLDnaute Occasionnel
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

Bonjour Eric et JBOBO

Effectivement mon signe me sert à d’autres tests dans d’autres cellules et le fait de le masquer ne servirait à rien.

Je n’avais rien mis dans la colonne M dans mon tableau, celui-ci n’est qu’un exemple, car mon fichier est très volumineux.

J’ai refait mon tableau exemple que je joins à nouveau.
 

Pièces jointes

  • Repère automatique 2.xlsm
    18.4 KB · Affichages: 63

ERIC S

XLDnaute Barbatruc
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

Bonsoir

peut-être

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Application.Intersect(Range(Target.Address), Range("B:G")) Is Nothing Then Exit Sub
If Target.Value = Date Then
    i = Target.Row
    While Cells(i, 1).Value = Cells(i - 1, 1).Value
        i = i - 1
    Wend
    Cells(i, "N").Value = ""
End If
End Sub
 

Si...

XLDnaute Barbatruc
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

Bonsoir,

sans nouvelle boucle, une ligne à changer :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Application.Intersect(Range(Target.Address), Range("B:G")) Is Nothing Then Exit Sub
    Dim Li As Long
    If Target.Value = Date Then
        Cells([A:A].Find(Cells(Target.Row, 1)).Row, "N").Value = ""
    End If
End Sub
 

Michou9

XLDnaute Occasionnel
Re : Macro pour éffacer une marque automatiquement en fonction d'une date sur une lig

Bonjour

C’est une réponse bien tardive, mais j’étais en déplacement

Je te remercie pour ta dernière macro

Elle fonctionne très bien dans mon fichier exemple
J’ai donc voulu l’incorporer dans mon tableau
Mais là cela ne fonctionne pas du tout

Les cellules correspondante à « B : G » sont « O : X »
La colonne du repère est « AA » au lieu de « N »

J’ai donc modifié la macro ainsi :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Application.Intersect(Range(Target.Address), Range("O:X")) Is Nothing Then Exit Sub
If Target.Value = Date Then
i = Target.Row
While Cells(i, 1).Value = Cells(i - 1, 1).Value
i = i - 1
Wend
Cells(i, "AA").Value = ""
End If
End Sub


Mais cela ne fonctionne pas et mes connaissances en macros ne me permettent pas de trouver l’erreur :mad:

A+ j’espère et merci encore pour tout ton développement
 

Discussions similaires

Statistiques des forums

Discussions
312 312
Messages
2 087 159
Membres
103 484
dernier inscrit
maintenance alkern