Remise en blanc après 13H

Bonjour,

je voudrai remettre en blanc une plage ce cellule une fois quand 13H est passé.

 Dim d As Date
    d = ActiveWorkbook.BuiltinDocumentProperties("last save time")
    If Int(d) = Date And Weekday(d) = 2 Then
      Exit Sub
   Else
   'plage de couleur en blanc
   end if

j'avais pensé à ca mais adapté a l'heure et pas au jour ?

Bonjour,

Avec "OnTime" peut être ?

A mettre dans le module du classeur (ThisWorbook) :

Private Sub Workbook_Open()

    Application.OnTime TimeValue("13:00:00"), "Effacer"

End Sub

A mettre dans un module standard :

Sub Effacer()

    Dim Plage As Range

    Set Plage = Worksheets("Feuil1").Range("A1:C20")

    Plage.Clear

End Sub

Pour que ça fonctionne, il faut que le classeur soit ouvert avant 13 h. A l'ouverture du classeur, la procédure événementielle "Workbook_Open()" est exécutée et donc OnTime est initialisé

c'est ce que j'utilise actuellement le problème c'est justement qu'il faut que le classeur soit ouvert à 13h, c'est une contrainte assez compliqué pour moi.

La plage de cellule doit juste ce mettre en blanc une fois après 13H parfois les gens sont en retard ou en avance alors le "ontime" fonctionne partiellement .

D'autre suggestion ?

Bonjour,

le problème c'est justement qu'il faut que le classeur soit ouvert à 13h

Tu as testé ?

Normalement il s'ouvre tout seul s'il est fermé.

eric

Normalement il s'ouvre tout seul s'il est fermé.

Jamais vue qu'il s'ouvre Solo et oui j'ai essayé ca fait 1 mois que je tourne avec ce système

 Dim d As Date, B As Variant
    d = ActiveWorkbook.BuiltinDocumentProperties("last save time")
    B = Format(d, "HH:MM:SS")
    MsgBox B
    If Int(d) = Date And B > TimeValue("13:00:00") Then
      Exit Sub
   Else

  End If

j'ai essayé ca mais il me dit que 9H du matin c'est plus Grand que 13H .....

edit: parce que pour lui il croit que l'heure c'est 0,XXX

image1

Non mais je te parlais de la proposition de Theze avec OnTime que tu as rejetée.

Tu me montres quelque chose qui n'a rien à voir. Il faut suivre ton sujet un peu quand même...

eric

Re,

Quand le classeur est ouvert avant 13h, la plage est vidée à l'heure demandée. Je viens de tester avec le classeur fermé et là, ça ne fonctionne pas qu'Excel soit lancé ou pas mais de toutes façons, ça n'a aucune importance car si le classeur est fermé, que la plage soit remplie ou vide je ne vois pas la différence donc, il faut vider la plage à l'ouverture du classeur si 13h est passé. Si 13h est passé, à l'ouverture du classeur la procédure "Effacer" est appelée directement sinon, OnTime est lancé et la plage sera vidée à 13h (heure PC) :

Private Sub Workbook_Open()

    If Time >= TimeValue("13:00:00") Then Effacer Else Application.OnTime TimeValue("13:00:00"), "Effacer"

End Sub
Rechercher des sujets similaires à "remise blanc 13h"