Return combobox

djongar Messages postés 18 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 16 janvier 2009 - 1 mars 2008 à 22:41
djongar Messages postés 18 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 16 janvier 2009 - 4 mars 2008 à 11:11
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 mars 2008 à 23:30
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)
0
djongar Messages postés 18 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 16 janvier 2009
1 mars 2008 à 23:54
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
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 mars 2008 à 00:19
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)
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 mars 2008 à 08:30
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 ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
djongar Messages postés 18 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 16 janvier 2009
2 mars 2008 à 12:13
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
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 mars 2008 à 14:18
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 !!!
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 mars 2008 à 16:21
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
0
djongar Messages postés 18 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 16 janvier 2009
4 mars 2008 à 11:11
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  
0
Rejoignez-nous