Souci avec une combobox : format heure de la plage de donné perdu

Bonjour aux passionnés d'Excel,

Je suis tout nouveau, sur le forum, avancé en âge, j'ai vu naitre Excel je suis resté aux possibilités de 2000; admiratif des possibilités actuelles qui m 'échappent..

Bref, J" alimente une combobox avec une plage de données qui contient des heures au format hh:mn

Hélas quand je sélectionne l'heure choisie, elle se transforme en chiffre ( type :0,xxx qui est la conversion) dans la case de la combo....

J ai même essayé par VBA de programmer la source de donnée...je n'ai pas su le faire fonctionner se sera une autre question.

De guerre lasse je pose le pb ici,

A votre bon coeur...

image

Bonsoir,

voici un code :

Private Sub ListBox1_Click()
    ' on affiche la valeur cliquée sur listbox1
    ComboBox1.Value = ListBox1.List(ListBox1.ListIndex)
End Sub
Private Sub UserForm_Initialize()
    ' on récupère les données horaires dans un tableau à deux dimensions
    tablo = Range("A1:A4").Value
    ' on boucle sur les items du tablo
    For i = 1 To UBound(tablo)
        ' on ajoute chaque item à la liste box en y appliquant un format
        ListBox1.AddItem Format(tablo(i, 1), "HH:MM")
    Next i
End Sub

@ bientôt

LouReeD

En relisant votre question :

Private Sub ListBox1_Click()
    ' on affiche la valeur cliquée sur listbox1
    ComboBox1.Value = ListBox1.List(ListBox1.ListIndex)
End Sub
Private Sub UserForm_Initialize()
    ' on récupère les données horaires dans un tableau à deux dimensions
    tablo = Range("A1:A4").Value
    ' on boucle sur les items du tablo
    For i = 1 To UBound(tablo)
        ' on ajoute chaque item à la liste box en y appliquant un format
        ListBox1.AddItem Format(tablo(i, 1), "HH:MM")
        ' on comprenant mieux votre souhait
        ComboBox2.AddItem Format(tablo(i, 1), "HH:MM")
    Next i
End Sub

En fait j'ai cru que vous partiez d'une ListBox !
Il vous suffit de remplir la ComboBox avec les données formatées...

Le fichier :

@ bientôt

LouReeD

Merci LouReeD, trop fort !

Le fichier comboBox répond parfaitement à mon soucis, il me reste qu à l'insérer et l essayer.... bon d'accord cela me change du Feu FORTRAN.

L' autre pb avec la combobox, j'arrive en utilisant Rowsource de la propriété à affecter un tableau de valeurs sur la liste déroulante ,

Je souhaitais la programmer en vba ( liste adaptable en fonction du programme), je n'arrive pas à la faire fonctionner. j ai trouvé sur learnace tuto qui m'a bien aidé jusq' à maintenant.

Je vais vérifier encore si je l'ai écrit au bon endroit, ou si j'oublie quelque chose ds les déclarations? Je suis pas à l'aise.

Avec mes remerciements

image

.Value à l'issue du Range ?

Tout m'a l'air bon.

@ bientôt

LouReeD

Bonsoir,

peut-être que c'est du au xlup dans le "to" de la boucle car le code ci dessous fonctionne :

Private Sub UserForm_Initialize()
    ' on récupère les données horaires dans un tableau à deux dimensions
    nbligne = Range("A" & Rows.Count).End(xlUp).Row
    ' on boucle sur les items du tablo
    For i = 1 To nbligne
        ' on ajoute chaque item à la liste box en y appliquant un format
        ComboBox1.AddItem Format(Sheets("Feuil1").Range("A" & i), "HH:MM")
    Next i
End Sub

@ bientôt

LouReeD

Encore un grand merci pour cette aise décisive..

A bientôt

Bonjour,

merci de votre retour et remerciement !

@ bientôt

LouReeD

Rechercher des sujets similaires à "souci combobox format heure plage donne perdu"