Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Pourquoi Now ne renvoie pas hh:mm:ss

cp4

XLDnaute Barbatruc
Bonjour,

Je suis sous windows7 6 bits et Excel 2010 32 bits. Merci de tester le code et me confirmer le résultat de la fonction.
Mes paramètres régionaux sont le Français. Mais sur mon pc la fonction Now ne renvoie pas l'heure (image)

J'utilise le code ci-dessous recopier rigoureusement d'un tuto
VB:
''creation fonction avec plusieurs parametres
Function CustomDate(DateToFormat, IncludeTime As Boolean) As String
    If IncludeTime Then
        CustomDate = Format(Date, "dddd dd mmmm yyyy hh:mm:ss")
    Else
        CustomDate = Format(Date, "dddd dd mmmm yyyy")
    End If
End Function
''utilisation de la fonction avec plusieurs parametres
Sub CreateNewSheet()
    Worksheets.Add
    Range("A1").Value = "Created on " & CustomDate(Now, True)
End Sub
Si tout fonctionne parfaitement chez-vous, auriez-vous une piste pour résoudre cette problématique.

En vous remerciant par avance.
 

Pièces jointes

  • Fonction Now VBA.xlsm
    15.5 KB · Affichages: 4
Solution
Bonjour le fil, cp4

Ca marchera mieux ainsi
VB:
Function CustomDate(DateToFormat, IncludeTime As Boolean) As String
    If IncludeTime Then
        CustomDate = Format(DateToFormat, "dddd dd mmmm yyyy hh:mm:ss")
    Else
        CustomDate = Format(DateToFormat, "dddd dd mmmm yyyy")
    End If
End Function

Staple1600

XLDnaute Barbatruc
Bonjour le fil, cp4

Ca marchera mieux ainsi
VB:
Function CustomDate(DateToFormat, IncludeTime As Boolean) As String
    If IncludeTime Then
        CustomDate = Format(DateToFormat, "dddd dd mmmm yyyy hh:mm:ss")
    Else
        CustomDate = Format(DateToFormat, "dddd dd mmmm yyyy")
    End If
End Function
 
Réactions: cp4

cp4

XLDnaute Barbatruc
Bonjour Staple1600,

Comment dire je suis confus. La prochaine fois je revérifierai plus d'une fois.
En effet, ça fonctionne mieux comme tu me l'indiques et c'était ainsi dans le tuto (vidéo).
C'est de ma faute, en faisant un copier/coller j'ai pris le mauvais code.

Si tu permets un autre question. Y a-t-il un moyen dans les paramètres d'excel qui permet de renvoyer le jour et le mois en majuscule (ou ça a un rapport avec la version d'excel?)? En effet, avec ce code sur la vidéo le jour et le mois sont en majuscule.

Merci beaucoup.
 

mapomme

XLDnaute Barbatruc
En effet, avec ce code sur la vidéo le jour et le mois sont en majuscule.
Bonjour @cp4 ,

Je ne vois ni le jour ni le mois en majuscule sur la vidéo sauf leur première lettre.
En français, ni le jour ni le mois ne sont des noms propres et donc ne prennent pas de majuscule sauf si c'est le premier mot de la phrase.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour mapomme

[crise d'égomanie post-digestion]
Tu as bien taillé tes bordures ?
[/crise d'égomanie post-digestion]

=>cp4
Actuellement bloqué dans une faille temporelle( XP+XL2003+K_Meleon), je ne peux pas voir de video T=YT.
Je ne peux que triturer du VBA dans VBE.
 

cp4

XLDnaute Barbatruc
Je ne vois ni le jour ni le mois en majuscule sur la vidéo sauf leur première lettre.
En français ni le jour, ni le mois ne sont des noms propres et donc ne prennent de majuscule.
Bonjour,
Oups! Je pense qu'aujourd'hui n'est pas mon jour . 1000 excuses.
Je voulais dire les premières lettres (comme nom propre)
ci-dessous capture de la vidéo

Comme le code ajoute une feuille et insère un texte suivi de la date. J'en ai conclu que la cellule n'a pas été formatée au préalable. Dans le code il n'y a rien qui format la 1ère lettre (jour et mois). N'ayant pas d'explication, je suis resté perplexe.

Encore merci et mes excuses pour mes étourderies à répétition.
 

mapomme

XLDnaute Barbatruc
En anglais, le jour et le mois prennent une majuscule. Ce doit être comme cela qu'est construit format en zone anglo-saxonne (sans doute en américain aussi puisque VBA en est originaire des USA).
En français point de majuscule, ce sont des noms communs.
 

cp4

XLDnaute Barbatruc
Ok, bien noté! ton explication est très claire.

Merci à vous deux.

ps: je n'ai rien compris à votre histoire de bordures.
 

patricktoulon

XLDnaute Barbatruc
bon ben si tu tiens a mettre tes mois en nom propre
VB:
Function CustomDate(DateToFormat, IncludeTime As Boolean) As String
    Dim D$, propermonth
    propermonth = StrConv(MonthName(Month(DateToFormat)), vbProperCase)
    If IncludeTime Then
        D = Format(DateToFormat, "dddd dd mmmm yyyy hh:mm:ss")
    Else
        D = Format(DateToFormat, "dddd dd mmmm yyyy")
    End If
    CustomDate = Replace(D, MonthName(Month(DateToFormat)), propermonth)
    End Function
Sub testh()
    MsgBox "Created on " & CustomDate("23/12/2021", True)
    MsgBox "Created on " & CustomDate(Date, True)
    MsgBox "Created on " & CustomDate(Now, True)
End Sub
LOL
 

cp4

XLDnaute Barbatruc
Bonsoir PatrickToulon ,

Merci beaucoup pour ton code. En fait, je ne cherchais pas à avoir absolument mes mois en nom propre.
J'ai simplement suivi un tuto sur youtube concernant les fonctions. J'ai repris le code et me suis aperçu que dans la vidéo la 1ère lettre du jour et du mois étaient en majuscules et non chez. Jusqu'à ce que Mapomme m'explique que c'était ainsi en anglais.
Justement, tu tombes bien. Je devais revenir vers toi pour un code que tu m'as gracieusement fait concernant l'affichage en plein écran d'un userform avec ajustement de taille de police(en fonction des dimensions de l'écran).
Le code fonctionne bien. Mais j'ai rencontré un problème, sa taille augmente.
Je reviendrai quand j'aurais fait un fichier pour illustrer le problème avec de plus amples explications.

Encore merci pour ton partage.

Bonne soirée.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…