Nom du jour de la semaine de la date choisie

Soyez le premier à donner votre avis sur cette source.

Vue 5 052 fois - Téléchargée 474 fois

Description

Ce Petit Programme permet de donner le nom du jour de la semaine du jour,du mois et de l'année choisie.
Par exemple:
LE QUATORZE JUILLET MILLE SEPT CENT QUATRE VINGT NEUF
est un MARDI
Vous pourrez trouver le nom du jour de la semaine de votre date de naissance.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
7 oct. 2011 à 12:34
Salut
encore plus simple

Imports System.Globalization.GregorianCalendar
Imports System.Globalization
Module Module1
Public Function QuelleJour(ByVal ladate As Date) As String
Dim fr As New CultureInfo("")
Dim dayname As String
Dim frenchdayname As String = String.Empty
dayname = fr.DateTimeFormat.Calendar.GetDayOfWeek(ladate).ToString
Select Case dayname
Case "Sunday" : frenchdayname = "Dimanche"
Case "Monday" : frenchdayname = "Lundi"
Case "Tuesday" : frenchdayname = "Mardi"
Case "Wednesday" : frenchdayname = "Mercredi"
Case "Thursday" : frenchdayname = "Jeudi"
Case "Friday" : frenchdayname = "Vendredi"
Case "Saturday" : frenchdayname = "Samedi"
End Select
Return frenchdayname
End Function
End Module

MessageBox.Show(QuelleJour(CDate("2011/09/27")))
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
7 oct. 2011 à 14:33
En effet, et si je puis me permettre il y a des chose qui pique les yeux ! regarde :

Dim a, m, j, s, js As Short 'Variables intermédiaires
et plus loin :
31. j = TextBox1.Text
32. m = TextBox2.Text
33. a = TextBox3.Text
c'est des shorts ou des strings ???
37. If m < 3 Then
38. a -= 1
39. m += 12
40. End If
c'est des plus des strings des shorts.....
42. s = Int(a / 100)
à non c'est en fait des integers avec une belle division de a=string par 100, ce qui donne un double, pfiouuuu convertion implicite powaaa
Bref place toujours les option explicit et strict à on dans ton projet pour constater cela. Tu peux tester dans le keypress que la saisie est bien un chiffre de 0 à 9 cela n'en demeure pas moins un string que retourne la textbox (elle porte bien son nom) D'ailleur tu as été obligé de le faire ici :
If CShort(TextBox3.Text) / 4 CShort(TextBox3.Text) \ 4 Then jour(2) 29 'Année bisextile
kenavo et bonne prog
NHenry Messages postés 15069 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 mai 2023 158
7 oct. 2011 à 21:31
Bonsoir,

Je commence par les remarques générales destinées aux débutants :
- En VB.NET, on doit activer Option Strict et Option Explicit
- Donner des noms explicites aux contrôles (A quoi sert Button1 ? BtnValider est quand même plus clair)
- Nommer ses variables explicitement :
+ En les préfixant pour connaitre la portée
* l local
* a attribut (classe)
* p paramétre
+ Eventuellement un spécificateur de type (pour les puristes)
* t Tableau
* i Integer
* ...
+ Un nom désignant l'utilisation de la variable ( ptDonneesUtilisateur, liNbJour, ...)
- Quand tu fais une source avec des fonctions à utiliser, pense plutôt à les mettre dans un module à part afin de faciliter la réutilisation.

Sinon plus spécifiquement :
Label1.Text = "Le " & j1 & " " & mois(m1 - 1) & " " & a1 & " est un " & Nom_du_jour_de_la_semaine(js)
Peut aussi s'écrire :
Label1.Text = String.Format("Le {0} {1} {2} est un {3}", j1, mois(m1 - 1), a1, Nom_du_jour_de_la_semaine(js))
Cela permet de faciliter le compréhension quand il u a beaucoup d'insertion et permet aussi de changer l'ordre des remplacements ainsi que de pouvoir préciser le format.

Quand je vois :
# Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
# If TextBox1.Text <> "" Then# If CShort(TextBox1.Text) 0 Then TextBox1.Text "1"
# If CShort(TextBox1.Text) > 31 Then TextBox1.Text = "31"
# TextBox1.Select(Len(TextBox1.Text), 0)
# End If
# test()
# End Sub

Je pense que si TextBox1 était un NumericUpDown, ça te simplifierais la tache.

# Dim jour(12) As Short
# jour(1) = 31
# jour(2) = 28
# jour(3) = 31
# jour(4) = 30
# jour(5) = 31
# jour(6) = 30
# jour(7) = 31
# jour(8) = 31
# jour(9) = 30
# jour(10) = 31
# jour(11) = 30
# jour(12) = 31
Peut aussi s'écrire :
Dim jour() As Integer=new Integer(){31,28,31,30,31,30,31,31,30,31,30,31}

Note :
Quand on travaille sur des nombre, préférer le type Integer, ça accélère les calculs et les gains avec les types plus courts en mémoire ne sons pas significatifs (mais ça peut être utile quand même).
Les tableaux commencent à partie de l'index 0, donc évites de partir de 1, ça demande une gymnastique de l'esprit source d'erreur.

CShort(TextBox3.Text)
Préfère plutot :
Short.Parse(TextBox3.Text)
ou
Short.TryParse(TextBox3.Text,MaValeur)

Cela te permet de préciser si besoin la localisation de l'interprétation (en anglais, le séparateur décimal n'est pas le même que en français) et le TryParse t'évites des exceptions en cas d'erreur d'entrées.

Bon, j'arrête là pour le moment.
Essayes d'appliquer ces quelques consignes.
cs_alpha5 Messages postés 74 Date d'inscription jeudi 10 août 2006 Statut Membre Dernière intervention 24 mars 2013
8 oct. 2011 à 09:07
merci j'en prends bien Note.
Paraglider Messages postés 35 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 6 février 2014 1
10 oct. 2011 à 01:17
Plus simple

Dim dateValue As Date = #6/11/2008#
Console.WriteLine(WeekdayName(Weekday(dateValue))) ' = Mercredi
Console.WriteLine(dateValue.ToString("ddd", New CultureInfo("fr-FR"))) ' = Mer
Console.WriteLine(dateValue.ToString("dddd")) ' = Mercredi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.