Combobox

cs_wholehog2 Messages postés 63 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 30 janvier 2012 - 10 avril 2004 à 21:00
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 11 avril 2004 à 17:25
je suis un débutant et j'ai un problème avec un combobox.

j'ai fait une combobox pour que l'utilisateur choisisse le mois d'une année. La collection ressemble à ceci :

Mois
Janvier
Février
Mars
Avril
Mai
Juin
Juillet
Mars
Avril
Mai
Juin
Juillet
Aout
Septembre
Octobre
Novembre
Décembre

j'ai mis mois en index 0 pour que l'index corresponde au numero du mois.

Mais quand je selectionne "octobre" il retourne l'index 15 alors qu'il devrait donner 10

Pourquoi et que dois-faire

merci

6 réponses

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
10 avril 2004 à 22:07
c'est tout a fait logique regarde:

Mois -> 0
Janvier -> 1
Février -> 2
Mars -> 3
Avril -> 4
Mai -> 5
Juin -> 6
Juillet -> 7
Mars -> 8
Avril -> 9
Mai -> 10
Juin -> 11
Juillet -> 12
Aout -> 13
Septembre -> 14
Octobre -> 15
Novembre -> 16
Décembre -> 17

Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_wholehog2 Messages postés 63 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 30 janvier 2012
10 avril 2004 à 23:10
OK mais pourquoi il compte deux fois ?
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
11 avril 2004 à 00:40
je ne sais pas, une eurreur de ta part lors de la programmation !!!
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
11 avril 2004 à 11:33
Tiens voila un ptit bout de code qui te serviras surement souvent si tu utilises les controles de listaing ( combobox, listbox, ...)
Au lieu d'énumerer chaque element a mettre dans ta ComboBox, tu vas tout simplement creer un fichier texte comme suit :

Exemple : mois.txt

Mois
Janvier
Fevrier
Mars
Avril
...etc...


Et ensuite tu mets ce bout de code dans ton programme... Dans le bouton Command1_Click() dans mon exemple

Private Sub Command1_Click()

Dim nFile As Integer
Dim Ligne As String
Dim FilePath As String

nFile = FreeFile

'On dis ou se trouve le fichier
FilePath = App.Path & "\mois.txt"

'On ouvre le fichier et on le lit ligne par ligne
Open FilePath For Input As #nFile
    While Not EOF(nFile)
        Input #nFile, Ligne
        Combo1.AddItem Ligne
    Wend
Close #nFile

'On place l'index a 0
Combo1.ListIndex = 0

End Sub


Tu pourras ainsi faire des listings tres facillement et rapidement tout en gagnant de la place dans ton code ce qui n'est pas rien et qui en plus fait plus professionnel ;)

A++ et bonne prog!

--=[SaMir]=--
0

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

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
11 avril 2004 à 17:24
Salut,

Pour les dates, pourquoi ne pas utiliser les controles prévus à cet effet ?

Menu Projet/Composants :
Microsoft Windows Common Controls-2 6.0 (SP6)
ou
Microsoft Calendar Control 8.0

Si ton VB6 est à jour, il n'y a pas de problème.

Cordialement

CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
11 avril 2004 à 17:25
Sinon,

Avec

Sub Combo1_Click()

MoisChoisi = Combo1.ListIndex + 1

End Sub

Sub Form_Load()

Combo1.Clear
Combo1.AddItem "Janvier"
Combo1.AddItem "Février"
Combo1.AddItem "Mars"
Combo1.AddItem "Avril"
Combo1.AddItem "Mai"
Combo1.AddItem "Juin"
Combo1.AddItem "Juillet"
Combo1.AddItem "Aoùt"
Combo1.AddItem "Septembre"
Combo1.AddItem "Octobre"
Combo1.AddItem "Novembre"
Combo1.AddItem "Décembre"
Combo1.ListIndex = 0

End Sub

Il ne devrait pas y avoir de problème.

Cordialement

CanisLupus
0
Rejoignez-nous