Débogage sur affichage date d'aujourd'hui

Signaler
Messages postés
53
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
18 août 2008
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonsoir jack
merci de votre information je repose la question
quand je fais exécuter pour afficher la date d'aujourd'hui il y a débogage sur la ligne n = Month(date)un message est apparu pour dire
nombre d'arguments incorrects ou affectation de propriété incorrecte


Private Sub Timer1_Timer()
Dim pi, i, n, X
pi = 3.141592
n = Month(date)


If n 1 Then X "Janvier"
If n 2 Then X "Février"
If n 3 Then X "Mars"
If n 4 Then X "Avril"
If n 5 Then X "Mai"
If n 6 Then X "Juin"
If n 7 Then X "Juillet"
If n 8 Then X "Août"
If n 9 Then X "Septembre"
If n 10 Then X "Octobre"
If n 11 Then X "Novembre"
If n 12 Then X "Decembre"

Text1.Text = Day(date) & " " & X & " " & Year(date)

end sub

6 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

Bien curieuse manière d'afficher une date sous la forme que Format permettrait d'obtenir fort simplement !
Et mieux (sans faute d'ortographe car les mois ne prennent pas de majuscule ...)

Encore plus curieux d'utiliser un timer pour afficher ce qui est invariable pendant 24 heures !
Quoi qu'il en soit : ton code ne comporte pas d'erreur  (étant entendu que Date est en VB la date du jour)...
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Text1.Text = Format(Date, "dd mmmm yyyy")
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
voir egalement MonthName, FormatDateTime, ...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
salut,

n n'est pas typé
pi ne sert à rien
cependant pas d'erreur de VB pour autant normalement...

et de doute façon comme jmf (salut) l'a indiqué :
Private Sub Timer1_Timer()
    Text1.Text = StrConv(Format$(Date, "DD MMMM YYYY"), vbProperCase)
End Sub

(StrConv pour la majuscule sur le mois)
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

et j'ajouterai que si tu avais voulu extraire le nom du moi en fonction de sont numero, comme tu as essayer de le faire avec ta multitude de condition if.
La fonction format le permet aussi :

Text1.Text = Format$("01/" & n & "/1900", "mmmm")

MAIS ce n'est quand meme pas la methode la plus simple car il existe une fonction qui sait le faire directement

Text1.Text  = MonthName$(n )

A+
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
gaffe, bigfish_le_vrai...

on ne fait pas :

"01/" & n & "/1900" pour composer une date !
voir DateSerial (rapport avec les regionnal settings)