OVH Cloud OVH Cloud

Récupération de temps combobox

6 réponses
Avatar
Denys
Bonjour =E0 tous,

Avec un Userform, je cherche =E0 r=E9cup=E9rer des valeurs=20
temporelles sur une feuille excel. Les valeurs sont en=20
terme de minutes de 0:01 jusqu'=E0 7:30 dans une plage=20
nomm=E9e Temps et qui sert de Rowsource =E0 mon Combobox.

Donc, il y en a beaucoup. Je sais comment afficher la=20
valeur d=E9j=E0 inscrite sur une cellule dans un combobox afin=20
qu'elle apparaisse comme une donn=E9e de temps, mais d=E8s que=20
je change la donn=E9e, celle-ci m'affiche une donn=E9e=20
bizarre....=20

Je ne voulais pas utiliser la Userform Initialize avec
combobox1.additem car, vous l'aurez devin=E9, j'en ai pour=20
la journ=E9e...

Et comme il n'y a pas de Userform_Change, je ne sais pas=20
trop quoi faire..

Y a-t-il moyen de ne pas utiliser Additem pour toutes les=20
minutes de 0:01 jusqu'=E0 7:30 ? Ou y a-t-il un moyen que le=20
combobox reconnaisse le valeurs dans la cellule comme=20
=E9tant du temps....

Merci pour le v=F4tre en tous les cas....

Denys

6 réponses

Avatar
J-Dan
bonjour Denys,

je ne saisis pas trop pourquoi RowSource te pose problème,
mais tu peux remplir ton ComboBox sans y passer la
journée avec AddItem (de 00:00 à 7:30 minutes par pas d'1
minute si j'ai bien compris.
Tu peux essayer comme suit :

Dim a As Date, increment As Date
a = 0
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next

Est-ce que ça répond à une de tes questions ?


-----Message d'origine-----
Bonjour à tous,

Avec un Userform, je cherche à récupérer des valeurs
temporelles sur une feuille excel. Les valeurs sont en
terme de minutes de 0:01 jusqu'à 7:30 dans une plage
nommée Temps et qui sert de Rowsource à mon Combobox.

Donc, il y en a beaucoup. Je sais comment afficher la
valeur déjà inscrite sur une cellule dans un combobox
afin

qu'elle apparaisse comme une donnée de temps, mais dès
que

je change la donnée, celle-ci m'affiche une donnée
bizarre....

Je ne voulais pas utiliser la Userform Initialize avec
combobox1.additem car, vous l'aurez deviné, j'en ai
pour

la journée...

Et comme il n'y a pas de Userform_Change, je ne sais pas
trop quoi faire..

Y a-t-il moyen de ne pas utiliser Additem pour toutes
les

minutes de 0:01 jusqu'à 7:30 ? Ou y a-t-il un moyen que
le

combobox reconnaisse le valeurs dans la cellule comme
étant du temps....

Merci pour le vôtre en tous les cas....

Denys
.



Avatar
J-Dan
Denys,

correction, "a" ne sert à rien.

Dim increment As Date, i As Date
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next


-----Message d'origine-----
bonjour Denys,

je ne saisis pas trop pourquoi RowSource te pose
problème,

mais tu peux remplir ton ComboBox sans y passer la
journée avec AddItem (de 00:00 à 7:30 minutes par pas
d'1

minute si j'ai bien compris.
Tu peux essayer comme suit :

Dim a As Date, increment As Date
a = 0
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next

Est-ce que ça répond à une de tes questions ?


-----Message d'origine-----
Bonjour à tous,

Avec un Userform, je cherche à récupérer des valeurs
temporelles sur une feuille excel. Les valeurs sont en
terme de minutes de 0:01 jusqu'à 7:30 dans une plage
nommée Temps et qui sert de Rowsource à mon Combobox.

Donc, il y en a beaucoup. Je sais comment afficher la
valeur déjà inscrite sur une cellule dans un combobox
afin

qu'elle apparaisse comme une donnée de temps, mais dès
que

je change la donnée, celle-ci m'affiche une donnée
bizarre....

Je ne voulais pas utiliser la Userform Initialize avec
combobox1.additem car, vous l'aurez deviné, j'en ai
pour

la journée...

Et comme il n'y a pas de Userform_Change, je ne sais
pas


trop quoi faire..

Y a-t-il moyen de ne pas utiliser Additem pour toutes
les

minutes de 0:01 jusqu'à 7:30 ? Ou y a-t-il un moyen que
le

combobox reconnaisse le valeurs dans la cellule comme
étant du temps....

Merci pour le vôtre en tous les cas....

Denys
.

.





Avatar
Denys
Bonjour J-Dan,

Merci beaucoup. En effet, cela m'aidera beaucoup. Le
problème du Rowsource provient du fait que si je change la
donnée apparaissant dans le combobox, par exemple de 0:30
pour 0:45, le 0:45 apparait comme 2.7445334534252562342etc.

D'où confusion....

Mais avec ta solution, fini les problèmes !!!!

Merci et bonne journée

Denys


-----Original Message-----
Denys,

correction, "a" ne sert à rien.

Dim increment As Date, i As Date
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next


-----Message d'origine-----
bonjour Denys,

je ne saisis pas trop pourquoi RowSource te pose
problème,

mais tu peux remplir ton ComboBox sans y passer la
journée avec AddItem (de 00:00 à 7:30 minutes par pas
d'1

minute si j'ai bien compris.
Tu peux essayer comme suit :

Dim a As Date, increment As Date
a = 0
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next

Est-ce que ça répond à une de tes questions ?


-----Message d'origine-----
Bonjour à tous,

Avec un Userform, je cherche à récupérer des valeurs
temporelles sur une feuille excel. Les valeurs sont en
terme de minutes de 0:01 jusqu'à 7:30 dans une plage
nommée Temps et qui sert de Rowsource à mon Combobox.

Donc, il y en a beaucoup. Je sais comment afficher la
valeur déjà inscrite sur une cellule dans un combobox
afin

qu'elle apparaisse comme une donnée de temps, mais dès
que

je change la donnée, celle-ci m'affiche une donnée
bizarre....

Je ne voulais pas utiliser la Userform Initialize avec
combobox1.additem car, vous l'aurez deviné, j'en ai
pour

la journée...

Et comme il n'y a pas de Userform_Change, je ne sais
pas


trop quoi faire..

Y a-t-il moyen de ne pas utiliser Additem pour toutes
les

minutes de 0:01 jusqu'à 7:30 ? Ou y a-t-il un moyen que
le

combobox reconnaisse le valeurs dans la cellule comme
étant du temps....

Merci pour le vôtre en tous les cas....

Denys
.

.


.






Avatar
Denys
Bonjour J-Dan,

Maintenant j'ai un message error 70 Permission denied....

Saurais-tu ce que ça veut dire? Je n'ai rien sur l'aide de Microsoft.


Merci

Denys


Bonjour J-Dan,

Merci beaucoup. En effet, cela m'aidera beaucoup. Le
problème du Rowsource provient du fait que si je change la
donnée apparaissant dans le combobox, par exemple de 0:30
pour 0:45, le 0:45 apparait comme 2.7445334534252562342etc.

D'où confusion....

Mais avec ta solution, fini les problèmes !!!!

Merci et bonne journée

Denys


-----Original Message-----
Denys,

correction, "a" ne sert à rien.

Dim increment As Date, i As Date
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next


-----Message d'origine-----
bonjour Denys,

je ne saisis pas trop pourquoi RowSource te pose
problème,

mais tu peux remplir ton ComboBox sans y passer la
journée avec AddItem (de 00:00 à 7:30 minutes par pas
d'1

minute si j'ai bien compris.
Tu peux essayer comme suit :

Dim a As Date, increment As Date
a = 0
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next

Est-ce que ça répond à une de tes questions ?


-----Message d'origine-----
Bonjour à tous,

Avec un Userform, je cherche à récupérer des valeurs
temporelles sur une feuille excel. Les valeurs sont en
terme de minutes de 0:01 jusqu'à 7:30 dans une plage
nommée Temps et qui sert de Rowsource à mon Combobox.

Donc, il y en a beaucoup. Je sais comment afficher la
valeur déjà inscrite sur une cellule dans un combobox
afin

qu'elle apparaisse comme une donnée de temps, mais dès
que

je change la donnée, celle-ci m'affiche une donnée
bizarre....

Je ne voulais pas utiliser la Userform Initialize avec
combobox1.additem car, vous l'aurez deviné, j'en ai
pour

la journée...

Et comme il n'y a pas de Userform_Change, je ne sais
pas


trop quoi faire..

Y a-t-il moyen de ne pas utiliser Additem pour toutes
les

minutes de 0:01 jusqu'à 7:30 ? Ou y a-t-il un moyen que
le

combobox reconnaisse le valeurs dans la cellule comme
étant du temps....

Merci pour le vôtre en tous les cas....

Denys
.

.


.









Avatar
J-Dan
Denys,

je viens (tardivement) de tester ton problème.
Voici une alternative si tu veux garder le remplissage du
ComboBox par "RowSource" (ça peut être utile si ta liste
ne répond pas à des critères logiques).
Il suffit de mettre dans la procédure
Private Sub ComboBox1_Change()
ComboBox1.Text = Format(ComboBox1.Text, "hh:mm")
(à adapter naturellement suivant besoins)

En tout cas, je suis heureux d'avoir pu t'aider.

J-Dan




-----Message d'origine-----
Re-bonjour J-Dan,

Oublie-ça... Je n'avais pas enlvé le Rowsource dans
les propriétés, d'où le

problème de Permission denied...

Désolé

Merci encore

Denys



"Denys" wrote:

Bonjour J-Dan,

Maintenant j'ai un message error 70 Permission
denied....



Saurais-tu ce que ça veut dire? Je n'ai rien sur
l'aide de Microsoft.




Merci

Denys


Bonjour J-Dan,

Merci beaucoup. En effet, cela m'aidera beaucoup. Le
problème du Rowsource provient du fait que si je
change la



donnée apparaissant dans le combobox, par exemple
de 0:30



pour 0:45, le 0:45 apparait comme
2.7445334534252562342etc.




D'où confusion....

Mais avec ta solution, fini les problèmes !!!!

Merci et bonne journée

Denys


-----Original Message-----
Denys,

correction, "a" ne sert à rien.

Dim increment As Date, i As Date
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next


-----Message d'origine-----
bonjour Denys,

je ne saisis pas trop pourquoi RowSource te pose
problème,

mais tu peux remplir ton ComboBox sans y passer la
journée avec AddItem (de 00:00 à 7:30 minutes
par pas





d'1
minute si j'ai bien compris.
Tu peux essayer comme suit :

Dim a As Date, increment As Date
a = 0
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next

Est-ce que ça répond à une de tes questions ?


-----Message d'origine-----
Bonjour à tous,

Avec un Userform, je cherche à récupérer des
valeurs






temporelles sur une feuille excel. Les valeurs
sont en






terme de minutes de 0:01 jusqu'Ã 7:30 dans une
plage






nommée Temps et qui sert de Rowsource à mon
Combobox.







Donc, il y en a beaucoup. Je sais comment
afficher la






valeur déjà inscrite sur une cellule dans un
combobox






afin
qu'elle apparaisse comme une donnée de temps,
mais dès






que
je change la donnée, celle-ci m'affiche une
donnée






bizarre....

Je ne voulais pas utiliser la Userform Initialize
avec






combobox1.additem car, vous l'aurez deviné,
j'en ai






pour
la journée...

Et comme il n'y a pas de Userform_Change, je ne
sais






pas
trop quoi faire..

Y a-t-il moyen de ne pas utiliser Additem pour
toutes






les
minutes de 0:01 jusqu'Ã 7:30 ? Ou y a-t-il un
moyen que






le
combobox reconnaisse le valeurs dans la cellule
comme






étant du temps....

Merci pour le vôtre en tous les cas....

Denys
.

.


.




.










Avatar
Denys
Bonsoir J-Dan,

Merci pour cette alternative et pour ton aide.
Bonne soirée

Denys


-----Message d'origine-----
Denys,

je viens (tardivement) de tester ton problème.
Voici une alternative si tu veux garder le remplissage
du

ComboBox par "RowSource" (ça peut être utile si ta liste
ne répond pas à des critères logiques).
Il suffit de mettre dans la procédure
Private Sub ComboBox1_Change()
ComboBox1.Text = Format(ComboBox1.Text, "hh:mm")
(à adapter naturellement suivant besoins)

En tout cas, je suis heureux d'avoir pu t'aider.

J-Dan




-----Message d'origine-----
Re-bonjour J-Dan,

Oublie-ça... Je n'avais pas enlvé le Rowsource dans
les propriétés, d'où le

problème de Permission denied...

Désolé

Merci encore

Denys



"Denys" wrote:

Bonjour J-Dan,

Maintenant j'ai un message error 70 Permission
denied....



Saurais-tu ce que ça veut dire? Je n'ai rien sur
l'aide de Microsoft.




Merci

Denys


Bonjour J-Dan,

Merci beaucoup. En effet, cela m'aidera beaucoup.
Le




problème du Rowsource provient du fait que si je
change la



donnée apparaissant dans le combobox, par exemple
de 0:30



pour 0:45, le 0:45 apparait comme
2.7445334534252562342etc.




D'où confusion....

Mais avec ta solution, fini les problèmes !!!!

Merci et bonne journée

Denys


-----Original Message-----
Denys,

correction, "a" ne sert à rien.

Dim increment As Date, i As Date
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next


-----Message d'origine-----
bonjour Denys,

je ne saisis pas trop pourquoi RowSource te pose
problème,

mais tu peux remplir ton ComboBox sans y passer
la






journée avec AddItem (de 00:00 à 7:30 minutes
par pas





d'1
minute si j'ai bien compris.
Tu peux essayer comme suit :

Dim a As Date, increment As Date
a = 0
increment = 1 / 24 / 60
fin = (1 / 24) * 7.5 - increment

For i = 0 To fin Step increment
ComboBox1.AddItem Format(i + increment, "hh:mm")
Next

Est-ce que ça répond à une de tes questions ?


-----Message d'origine-----
Bonjour à tous,

Avec un Userform, je cherche à récupérer des
valeurs






temporelles sur une feuille excel. Les valeurs
sont en






terme de minutes de 0:01 jusqu'Ã 7:30 dans une
plage






nommée Temps et qui sert de Rowsource à mon
Combobox.







Donc, il y en a beaucoup. Je sais comment
afficher la






valeur déjà inscrite sur une cellule dans un
combobox






afin
qu'elle apparaisse comme une donnée de temps,
mais dès






que
je change la donnée, celle-ci m'affiche une
donnée






bizarre....

Je ne voulais pas utiliser la Userform
Initialize







avec
combobox1.additem car, vous l'aurez deviné,
j'en ai






pour
la journée...

Et comme il n'y a pas de Userform_Change, je ne
sais






pas
trop quoi faire..

Y a-t-il moyen de ne pas utiliser Additem pour
toutes






les
minutes de 0:01 jusqu'Ã 7:30 ? Ou y a-t-il un
moyen que






le
combobox reconnaisse le valeurs dans la cellule
comme






étant du temps....

Merci pour le vôtre en tous les cas....

Denys
.

.


.




.



.