Return combobox

Signaler
Messages postés
18
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
16 janvier 2009
-
Messages postés
18
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
16 janvier 2009
-
slt tous le monde, j'aime savoir comment premièrement comment je peu cree un combobox à partir d'une liste que je l'ai déjà et deuxièmement comment je peu retourner un élément a partir de cette liste.
j'utilise cette fonction pour la première fois et j'ai pas trouver une répense à ce que j'écris plus haut
merci à vous tous

8 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Ta liste, elle est dans quoi ?
Un fichier ?
Tu sais ouvrir et lire un fichier ?
Non : Tu cherches les sources qui parlent de fichier
Oui : Sais-tu comment ajouter des items à ta ComboBox ?
Non : Tu regardes dans l'aide
Oui : Tout va bien

"Comment retourner un élément de cette liste" : De cette liste ou de cette ComboBox ?
Retourner : vers quoi ? quel élément ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
18
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
16 janvier 2009

malin, j'ai poser des questions pour recevoir des questions
bon selon des recherche que j'ai fais il faut que dispose d'un fichier pour que le combobox  mais je sais pas comment je fais l'appel
selon l'exercice que je voulais le faire, il faut que l'utilisateur fais entrer sa date de naissance selon des combobox(jour, mois, année) et que le programme prend ses valeur en format de date, les rassembler en un seul date et la comparer avec la date d'aujourd'hui pour sortir exactement le nombre d'année, de mois, de semaine,de jour...
voilà une première essai que je l'ai fais:

Dim vdate As Date
Dim aujourd As Date

Private Sub calcul_Click()
aujourd = Date
vdate = DateSerial(jour.AddItem(i), mois.AddItem(j), annee.Add.Item(k))
MsgBox (vdate)
nbannee.Caption = DateDiff("yyyy", vdate, aujourd)

End Sub

Private Sub Form_Load()
For i = 1 To 31
jour.AddItem (i)
Next
For j = 1 To 12
mois.AddItem (j)
Next
For k = 1900 To 2000
annee.AddItem (k)
Next
End Sub
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Ta première question n'était pas assez précise.
Ok, je comprends mieux ton problème.
Tu as presque tout bon.
Mais pour lire la sélection actuelle de tes ComboBox, pourquoi utiliser AddItem ? Ca n'a pas de sens !
Refflechis deux secondes : AddItem est l'instruction qui ajoute, ADDitionne des données dans la ComboBox.
Pour récupérer le texte de la sélection actuelle d'une ComboBox, c'est tout simplement
  maComboBox.Text
Regarde les exemples dans l'aide

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

Avant même de passer à ce qui semble vouloir être le calcul d'un âge et ne saurait être la didfférence de deux millésimes ...

Je lis ceci :

vdate = DateSerial(jour.AddItem(i), mois.AddItem(j), annee.Add.Item(k))

sursaute ...

et t'invite :

1) à tester ceci :

Private Sub Command1_Click()
  jour = 31
  mois = 1
  annee = 2000
  MsgBox DateSerial(jour, mois, annee)
End Sub

et à réaliser l'erreur !

puis :

2) à ouvrir ton aide en ligne pour y découvrir la syntaxe de DateSerial ...
puis corriger ton code comme il se doit

On viendra à l'âge ensuite ...
Messages postés
18
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
16 janvier 2009

bonjour,
j'ai un truc qui me rend fou, quand je clique sur le bouton pour afficher le msg box, alors au lieu que le programme affiche le date ce que j'ai dans le combobox il m'affiche un autre date je sais pas d'où me viens, par exemple si j'ai dans le jour 1, le mois 2, l'annee 1987 au lieu de m'afficher 1/2/1987 il m'affiche 11/07/2007 , je suis totalement perdu là ca ménerve, voila le syntax que j'ai:
Dim vdate, j, m, a As Date

Private Sub calcul_Click()
j = jour.Text
m = mois.Text
a = annee.Text
MsgBox (DateSerial(j, m, a))

End Sub

Private Sub Form_Load()
jour.AddItem (1)
mois.AddItem (2)
annee.AddItem (1987)
End Sub
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
tu insistes avec :

MsgBox (DateSerial(j, m, a))

Et si tu me relisais ?
Et si tu ouvrais, comme je t'y ai invité, ton aide en ligne pour y LIRE la syntaxe de Dateserial ?

Tu serais alors peut-être "rendu un peu moins fou"

Reviens après avoir ouvert cette aide en ligne, s'il te plait !!!
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Dim vdate, j, m, a As Date

Cette ligne ne signifie pas que toutes les variables seront dimensionnées en Date.
Il faut répéter "As Date" pour chaque variable
Messages postés
18
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
16 janvier 2009

merci pour tous le monde, j'ai trouvé l'astuce , c'est de mettre les éléments qui vont reçoit les dates de type int comme celle la:



Dim vdate As Date



Dim j As Date



Dim m As Date



Dim a As Date



Private Sub calcul_Click()



j = Int(jour.Text)



m = Int(mois.Text)



a = Int(annee.Text)



vdate = DateSerial(a, m, j)



aprés c'est simple de continué de calculer le nombre d'année et de mois... avec la méthode DateDiff