Problème d'affichage d'heure sur ComboBox

Salut à tous,

Alors voila, j'ai cette petite macro qui remplit ma combo box avec les heures présentent dans un autre fichier.

La liste est bien. Seul truc, lorsque je clique sur une des possibilités, il m'affiche une version numérique du résultat...

Se ne serait pas un problème si par la suite je ne devais pas retrouver la ligne exacte de cette heure. j'aimerai bien que l'affichage soit propre.

Ce qui est surprenant c'est que parfois, la suite du programme fonctionne correctement et parfois, absolument plus...

Bref, voici le code et une photo de l'userform:

Private Sub CommandButton1_Click()
    Dim recherche As Date, zone As Range, finder As Range
    recherche = Me.ComboBox1.Value

        Set zone = Columns(1)
            Set finder = zone.Cells.Find(what:=recherche, lookAt:=xlWhole)
                If finder Is Nothing Then
                    best_hour = debut
                Else
                    best_hour = finder.Row
                End If

        Unload Me

End Sub

Private Sub UserForm_Initialize()
    data_book.Activate
        data_sheet.Activate
        Me.ComboBox1.RowSource = "Data!A" & debut & ":A" & fin
End Sub

(PS: certaines variables sont publiques dans un module)

selection heure

Bonjour,

Tu commences par ne pas initialiser ta Combo avec RowSource mais avec List.

Tu ne devrais pas avoir à rechercher la valeur dans la plage, dans la mesure où ListIndex te permettra de déterminer la ligne où elle se trouve. Mais le cas échéant, il te faudra soit reconvertir la valeur de la Combo en valeur de type Date, soit rechercher sur la propriété Text de la cellule.

Cordialement.

Excuse moi pour le temps de réponse.

Bon, j'ai voulu essayer la fonction List en utilisant l'aide mais je ne comprend pas trop la synthaxe à adopter.

Il me demande un nombre de ligne colonne mais comment est ce que je défini le début de sa sélection?

J'ai fait quelques tests infructueux. Je peux te demander un peu d'aide sur le contenu de mon ComboBox1.list(...)?

Merci! En tout cas, j'en comprend bien l'idée!

Bonjour,

Au vu de tes indications :

Private Sub UserForm_Initialize()
        Me.ComboBox1.List = data_sheet.Range("A" & debut & ":A" & fin).Value
End Sub

Cordialement.

Flute, j'avais pas mis le "=".

Merci, c'est impeccable, comme d'habitude!!

Merci encore à toi et à ce forum vraiment irréprochable!

Rechercher des sujets similaires à "probleme affichage heure combobox"