Date longue et heure

Signaler
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
-
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
-
Bonjour,

Je voudrais savoir si une personne pourrai m'aider à résoudre un petit problème.

Je voudrais savoir si il y a la possibilté en automatique de mettre la date longue et l'heure dans le caption d'une form en prenant en compte le caption de la form ? Calcul de ma chaine caption form et calcul chaine date et heure, repositionnement dans la caption form gauche pour mon caption et droite pour ma date et heure.Un centrage automatique en fait
Exemple :

Caption de ma form avec date et heure 
"Toto est en vancances                           Vendredi 15 Décembre 2006  12:50:20 "

Merci à tous pour votre aide
A+
Exploreur

17 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Pas en automatique.
Faut le faire à la main toutes les secondes (pour raffraichir). Et le centrage aussi à la main en mettant autant d'espaces que necessaire.

Parcontre tu as la possibilité de rajouter une StatutBar en bas de la feuille, où là il peut y avoir la date et l'heure gérées automatiquement.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Dans ton Form Load,

Timer1.Enabled = True

dans ton timer (avec l'interval à 1000 ms) :

NomForm.Caption = format(Date, "dddd dd mmmm yyyy") & " " & format(Date, "hh:mm:ss")

++
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
on preferera
FormatDatetime(Now, vbLongDate) & " " & FormatDatetime(Now, vbLongTime)

qui va tirer le format a utiliser des parametres regionnaux de l'utilisateur

d'autre part,
format(Date, "hh:mm:ss")

est faux : Date (issu de DateTime.Date) ne contient que la date, tu vas te retrouver avec "00:00:00"

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Bonjour,

Déjà merci à tous de vous être penchés sur mon "problème"

Casy >> Je me doutais un peu, que cela n'était pas possible en automatique, et qu'il faut mettre des espaces en prenant en compte le jour le plus long ainsi que le mois.

Mortalino >> Le code que tu me donne, c'est ce que je fait en partie(remarque de Renfield) dans mon source "Expédition..N° de bl"


Renfield >> Merci pour tes informaions, c'est cool d'apprendre de nouvelles routines d'utilisation FormatDate....On en apprend tous les jours !


Merci à tous et c'est un plaisir de discuter avec vous


 


  
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
la police utilisée dans le titre n'est bien souvent pas a chasse fixe....
en clair, le nombre d'espace utilisé ne peux garantir que ta date sera affichée toujours au même endroit, quelque soit la partie 'Titre' de ton Caption.

le seul moyen d'être sur de ce placement, c'est de dessiner le Caption toi-même ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Oui désolé, c'est Now qui prend et la date, et l'heure.

Mais la syntaxe de Renfield est plus correct !
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Renfield,

J'ai peut-être une solution mais je ne sais pas si elle valable, je te demande donc ton avis :

- J'insère dans la propriété de form.caption mon titre + un certains nombres d'espaces.
- Je calcul ensuite le nombre total de carractères dans form.caption
- Je calcul le nombre total de carractères de date + time
- Je soustrait ce nombre à celui de mon form.caption
- J'enlève un certains nombres d'espaces (calcul ci-dessus)
- Je recombine le tout et je reformule mon form.caption.

Quand penses-tu ?

Exploreur
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
Ca ne suffira pas....
les lettres n'ont pas toutes la même largeur.
s'assurer, par exemple 40 caractères avant d'afficher la date et l'heure ne conviendra pas...

pour test, essaye simplement :

Public Property Let FormCaption(ByRef Value As String)
Dim sBuffer As String
    sBuffer = FormatDateTime(Date, vbLongDate) & " " & FormatDateTime(Now, vbLongTime)
    Me.Caption = Value & Space$(40 - Len(Value)) & sBuffer
End Property

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Génial ta propriété, je ne connaissais pas comme ceci.
(testé sur UserForm excel)

T'es un bon prof Rey ;)

++
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
Merci ^^

j'aime bien la syntaxe qui va avec les property... c'est plus naturel...
au boulot, par exemple, on a la propriété Settings, qui donne accès en lecture ecriture a la config...

Setting("Graph.AxisWidth") = 2
Target.DrawWidth = Setting("Graph.AxisWidth")

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Merci Renfield...


Par contre je ne suis pas Fut-fut...comment s'utilise
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
tu le place dans le code de ta Form

pour le tester, fais simplement

Me.FormCaption = "Titre test"

et tu auras comme Caption de ta form, par exemple : "Titre test                  jeudi 21 Septembre 2006 14:10:27"

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Merci Renfield pour toutes tes explications et ton code, grâce à toi je viens d'apprendre quelque chose d'autres.

Exploreur
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Salut Renfield,

Il me semble qu'il y a une police qui utilise le même nombre de pixels pour n'importe quel carractères ? Connais-tu cette police ?

Merci d'avance
Exploreur
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
Il en existe quelques unes...
Terminal
Courier
Courier New
FixedSys
Lucida console
...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Re,

Est-ce que la fameuse "solution" que je pensais(calcul longeur....) peut-être jouable avec une tel police ?

Merci.
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
oui, a supposer que l'utilisateur ait choisi cette police pour afficher la barre de titre, ce qui est franchement rare, je pense

Renfield
Admin CodeS-SourceS- MVP Visual Basic