Bonjour
Est-il possible d'avoir le texte et la mise en forme d'une zone de texte qui change come la cellule A35 suivant l'heure ?
Pour l'instant, je n'y arrive pas.
Quand je ferme mon fichier à partir de 19:00 il faut que j'ai le texte "À demain" dans la zone de texte. Autrement, il ne faut pas de texte.
Est-il aussi possible d'avoir dans la zone de texte la même MFC que la cellule A35
Fond rouge police blanche et gras Pour effacer au cas ou, c'est effacer la zone si je ne veux pas de texte à ce moment là.
Ça fonctionne, mais dans A35, il faut changer "19:30" par 19/24 (comme me l'on montré les messages précédents).
Par contre quand c'est avant 19:00, il ne faut pas de texte dans la zone (c'est pourquoi, j'ai mis en fin de formule "A36" cellule vierge (mais çà ne fait rien)
Ça me plais bien, mais c'est l'inverse
il faut qu'il y ait le texte dans l'image à partir de 19:00 alors que là, je l'ai en dehors de 19:00.
Dans la cellule E34, il faut la fonction =MAINTENANT() pour ne pas changer, mais ça ne fonctionne pas.
Je voudrais que la cellule A34 contienne la formule =MAINTENANT(), au format heure (19:00), ce soir à partir du moment ou il sera 19:00 dans cette cellule l'image devrait avoir un fond rouge et un texte "À demain, si je fait l'essai, ce n'est pas le cas.
1) Dans le fichier en cellule 34 il y a12:00 (il ne devrait rien avoir dans l'image.
2) Dans le fichier en cellule 34 si je saisie 19:00 (il ne devrait avoir "└ demain) dans l'image.
Je voudrais que la cellule A34 contienne la formule =MAINTENANT(), au format heure (19:00), ce soir à partir du moment ou il sera 19:00 dans cette cellule l'image devrait avoir un fond rouge et un texte "À demain, si je fait l'essai, ce n'est pas le cas.
Private Sub Workbook_Open() ')
Feuil1.[A34] = Format(Now, "hh:mm:ss")
Chrono 'lqnce le processus
End Sub
Dans la feuille :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
[A34] = Format(Now, "hh:mm:ss")
Chrono 'lance le processus
End Sub
Dans Module1 :
VB:
Sub Chrono()
If Feuil1.[A34] = "" Then Exit Sub
Feuil1.[A34] = Format(Now, "hh:mm:ss")
Application.OnTime Now + 1 / 86400, "Chrono"
End Sub
En toute rigueur il faut utiliser une variable mémorisée t dans Module1 pour éviter la création d'une pile dans le processus si l'on fait de nombreux doubles-clics :
VB:
Dim t 'mémorise la variable
Sub Chrono()
On Error Resume Next
Application.OnTime t, "Chrono", , False
If Feuil1.[A34] = "" Then Exit Sub
Feuil1.[A34] = Format(Now, "hh:mm:ss")
t = Now + 1 / 86400
Application.OnTime t, "Chrono"
End Sub