[Catégorie modifiée VB6 ->.Net] Utiliser Trois ComboBox pour faire afficher la d
sacha1992
Messages postés1Date d'inscriptionvendredi 30 décembre 2011StatutMembreDernière intervention30 décembre 2011
-
30 déc. 2011 à 15:33
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
30 déc. 2011 à 20:49
Bonjour à tous voilà mon problème, je suis en train de créer un formulaire (de renseignement), avec le nom, le prénom, le statut professionnel, la date de naissance, adresse, code postal, ville, avec Visual Basic 2010 Express. Donc mon problème est que j'ai utilise pour afficher la date de naissance Trois ComboBox (date, mois, année) et j'ai disposer à droite une TextBox qui devra indique l'âge en fonction de la date d'aujourd'hui par rapport à la date de naissance indiquer.
J'aimerais savoir s'il existe des lignes codes qui permet de récupérer tous les dates en fonction du mois choisis et si s'il y a des lignes de codes qui permet de récupérer de 1960 à aujourd'hui et pour finir une ligne de code qui permet de faire un calcul pour afficher l'âge d'aujourd'hui.
J'ai trouver en fesant des recherches ce code:
Dim i As Integer
ComboBox3.Items.Clear()
For i = 1960 To System.DateTime.Now.Year
ComboBox3.Items.Add(i)
Next i
mais il ne fonctionne pas très bien et pas comme je le voudrais.
Donc je vous demande s'il vous plaît de prendre un peu de temps pour m'aide et me répondre.
Merci d'avance
Sacha1992
A voir également:
[Catégorie modifiée VB6 ->.Net] Utiliser Trois ComboBox pour faire afficher la d
NHenry
Messages postés15151Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 4 septembre 2024159 30 déc. 2011 à 19:28
Bonjour,
Sépares les points de question et avances progressivement.
Quel est le premier problèmes (Code, comportement désiré, comportement constaté, ...) ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 30 déc. 2011 à 20:49
Salut
Mauvais terme :
"J'aimerais savoir s'il existe des lignes codes qui permet de récupérer tous les dates en fonction du mois choisis"
Toutes les dates ?
Une date comporte jour, mois et année
Parles-tu du nombre de jours ?
Pour trouver le nombre de jours d'un mois et d'une année connue : fonction DateTime.DaysInMonth
"et pas comme je le voudrais"
Et comment le voudrais-tu ?
C'est une info importante si tu veux de l'aide.
Ce code semble correct .
Pour afficher les années en ordre décroissant, jouer dans l'ordre des paramètres du For-Next et ajouter l'option "Step" à cette même instruction.
Le sujet me paraissait amusant à travailler, moi qui ne connais pas trop VB.Net, alors voilà ce que j'ai tenté :
- Dans ta forme, deux DateTimePicker : le 1 pour la date antérieure, le 2 pour la date la plus récente
- Une TextBox
- Dans le DateTimePicker1_ValueChanged (et 2), appeler la fonction de calcul :
TextBox1.Text = CalculAge
- La fonction en question
Private Function CalculAge() As String
Dim Date1 As Date = DateTimePicker1.Value
Dim Date2 As Date = DateTimePicker2.Value
If Date1 > Date2 Then
' Dates inversées
Date1 = DateTimePicker2.Value
Date2 = DateTimePicker1.Value
End If
Dim NombreMois As Integer
Dim MoisRestants As Integer
Dim NombreAnnees As Integer
Dim NombreJours As Integer
NombreMois = DateDiff(DateInterval.Month, Date1, Date2)
If Date1.Day < Date2.Day Then
NombreJours = Date2.Day - Date1.Day
ElseIf Date1.Day > Date2.Day Then
NombreJours = DateTime.DaysInMonth(Date1.Year, Date1.Month) - Date1.Day + Date2.Day
NombreMois -= 1
Else
NombreJours = 0
End If
MoisRestants = NombreMois Mod 12
NombreAnnees = (NombreMois - MoisRestants) / 12
Dim sTemp As String = ""
If NombreAnnees > 0 Then
sTemp = NombreAnnees.ToString & " an"
If NombreAnnees > 1 Then
sTemp += "s"
End If
End If
If MoisRestants > 0 Then
If sTemp.Length > 0 Then
If NombreJours > 0 Then
sTemp += ", "
Else
sTemp += " et "
End If
End If
sTemp += MoisRestants.ToString & " mois"
End If
If NombreJours > 0 Then
If sTemp.Length > 0 Then
sTemp += " et "
End If
sTemp += NombreJours.ToString & " jour"
If NombreJours > 1 Then
sTemp += "s"
End If
End If
Return sTemp
End Function
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)