OVH Cloud OVH Cloud

re textbox

11 réponses
Avatar
fredbzr
Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son aide
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscris en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm") 'Voilà ce
que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred

10 réponses

1 2
Avatar
FxM
Bonsoir Fred,

Non testé :
Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
with ActiveCell
.Value = ([BE1] - Me.TextBox1.Value) / 24
.numberformat = "h:mm"
end with
End If
Unload Me
End Sub

@+
FxM


Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son aide
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscris en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm") 'Voilà ce
que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred




Avatar
fredbzr
Bonsoir FxM
d'abord merci pour cette réponse aussi rapide,
je viens de tester ta solution et çà ne fonctionne pas
je suis obligé d'inscrire 1,5 pour 1heure30mn
je souhaiterai inscrire 1:30

"FxM" a écrit dans le message de news:
%
Bonsoir Fred,

Non testé :
Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
with ActiveCell
.Value = ([BE1] - Me.TextBox1.Value) / 24
.numberformat = "h:mm"
end with
End If
Unload Me
End Sub

@+
FxM


Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son aide
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscris en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm") 'Voilà
ce que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred




Avatar
JB
Bonjour,

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - CDate(Me.TextBox1.Value))
End If
Unload Me
End Sub

Pour vérifier que l'opérateur a bien saisi un temps sous la forme
hh:mm:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub

Function EstTemps(t)
p = InStr(t, ":")
m = Mid(t, p + 1)
If p > 0 And Len(m) > 0 Then EstTemps = True Else EstTemps = False
End Function

JB

On 23 fév, 23:47, "fredbzr" wrote:
Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son aide
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscris en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm") 'Voil à ce
que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred


Avatar
JB
http://boisgontierj.free.fr/fichiers/Formulaire/Form_SaisieHeures.xls

JB

On 24 fév, 00:06, "fredbzr" wrote:
Bonsoir FxM
d'abord merci pour cette réponse aussi rapide,
je viens de tester ta solution et çà ne fonctionne pas
je suis obligé d'inscrire 1,5 pour 1heure30mn
je souhaiterai inscrire 1:30

"FxM" a écrit dans le message de news:
%



Bonsoir Fred,

Non testé :
Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
with ActiveCell
.Value = ([BE1] - Me.TextBox1.Value) / 24
.numberformat = "h:mm"
end with
End If
Unload Me
End Sub

@+
FxM

Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son aide
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscris en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm") 'Vo ilà
ce que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
fredbzr
Bonjour JB
je viens de tester votre code qui fonctionne à merveille
lorsque je mets 1:00 dans le texbox j'ai 1:00:00 AM,
comment ne garder que 1:00 (cellule au format:[h]:mm)
merci
"JB" a écrit dans le message de news:

Bonjour,

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - CDate(Me.TextBox1.Value))
End If
Unload Me
End Sub

Pour vérifier que l'opérateur a bien saisi un temps sous la forme
hh:mm:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub

Function EstTemps(t)
p = InStr(t, ":")
m = Mid(t, p + 1)
If p > 0 And Len(m) > 0 Then EstTemps = True Else EstTemps = False
End Function

JB

On 23 fév, 23:47, "fredbzr" wrote:
Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son aide
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscris en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm") 'Voilà ce
que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred


Avatar
JB
Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = [B12] - CDate(Me.TextBox1.Value)
ActiveCell.NumberFormat = "h:mm"
End If
'Unload Me
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
Else
Me.TextBox1 = Format(Me.TextBox1, "hh:mm")
End If
End Sub

JB


On 24 fév, 09:04, "fredbzr" wrote:
Bonjour JB
je viens de tester votre code qui fonctionne à merveille
lorsque je mets 1:00 dans le texbox j'ai 1:00:00 AM,
comment ne garder que 1:00 (cellule au format:[h]:mm)
merci
"JB" a écrit dans le message de news:

Bonjour,

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - CDate(Me.TextBox1.Value))
End If
Unload Me
End Sub

Pour vérifier que l'opérateur a bien saisi un temps sous la forme
hh:mm:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub

Function EstTemps(t)
p = InStr(t, ":")
m = Mid(t, p + 1)
If p > 0 And Len(m) > 0 Then EstTemps = True Else EstTemps = False
End Function

JB

On 23 fév, 23:47, "fredbzr" wrote:



Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son aide
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscris en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm") 'Voi là ce
que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
fredbzr
celà marche bien tant que mes heures sont positives
dès que le résultat de la soustraction est négatif alors le -1:00
s'inscrit -1:00:00 AM

"JB" a écrit dans le message de news:



Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = [B12] - CDate(Me.TextBox1.Value)
ActiveCell.NumberFormat = "h:mm"
End If
'Unload Me
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
Else
Me.TextBox1 = Format(Me.TextBox1, "hh:mm")
End If
End Sub

JB


On 24 fév, 09:04, "fredbzr" wrote:
Bonjour JB
je viens de tester votre code qui fonctionne à merveille
lorsque je mets 1:00 dans le texbox j'ai 1:00:00 AM,
comment ne garder que 1:00 (cellule au format:[h]:mm)
merci
"JB" a écrit dans le message de news:

Bonjour,

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - CDate(Me.TextBox1.Value))
End If
Unload Me
End Sub

Pour vérifier que l'opérateur a bien saisi un temps sous la forme
hh:mm:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub

Function EstTemps(t)
p = InStr(t, ":")
m = Mid(t, p + 1)
If p > 0 And Len(m) > 0 Then EstTemps = True Else EstTemps = False
End Function

JB

On 23 fév, 23:47, "fredbzr" wrote:



Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son aide
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscris en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm") 'Voilà
ce
que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
JB
Pour gérer les heures négatives, il faut soit utiliser le calendrier
1904(Outils/Options)

ou

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
d = [B12] - CDate(Me.TextBox1.Value)
If d >= 0 Then
ActiveCell.Value = [B12] - CDate(Me.TextBox1.Value)
ActiveCell.NumberFormat = "h:mm"
Else
ActiveCell = Format([B12] - CDate(Me.TextBox1.Value), "-hh:mm")
End If
End If
Unload Me
End Sub

Attention!, le résultat affiché dans la cellule active est une chaine
de carcatères et pas un nombre.

http://boisgontierj.free.fr/pages_site/FonctinsHeure.htm

JB


On 24 fév, 13:19, "fredbzr" wrote:
celà marche bien tant que mes heures sont positives
dès que le résultat de la soustraction est négatif alors le -1:00
s'inscrit -1:00:00 AM

"JB" a écrit dans le message de news:


Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = [B12] - CDate(Me.TextBox1.Value)
ActiveCell.NumberFormat = "h:mm"
End If
'Unload Me
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
Else
Me.TextBox1 = Format(Me.TextBox1, "hh:mm")
End If
End Sub

JB

On 24 fév, 09:04, "fredbzr" wrote:



Bonjour JB
je viens de tester votre code qui fonctionne à merveille
lorsque je mets 1:00 dans le texbox j'ai 1:00:00 AM,
comment ne garder que 1:00 (cellule au format:[h]:mm)
merci
"JB" a écrit dans le message de news:

Bonjour,

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - CDate(Me.TextBox1.Value))
End If
Unload Me
End Sub

Pour vérifier que l'opérateur a bien saisi un temps sous la forme
hh:mm:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub

Function EstTemps(t)
p = InStr(t, ":")
m = Mid(t, p + 1)
If p > 0 And Len(m) > 0 Then EstTemps = True Else EstTemps = False
End Function

JB

On 23 fév, 23:47, "fredbzr" wrote:

Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son ai de
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscri s en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm") 'V oilà
ce
que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




Avatar
fredbzr
Bonsoir JB
je rentre juste du boulot
en effet et c'est bien là mon problème
j'ai besoin de rentrer manuellement des heures négatives dans un tableau
pour effectuer le suivit de compteurs horaires.J'avais pensé passer par le
textbox en effectuant une opération (soustraction par rapport à 0 ici ma
cellule BE1) pour pouvoir saisir mon heure négative.
c'est le même problème que j'ai rencontré avec ="-1:00" qui devient du texte
et plus un nombre
Est-ce que vous auriez une autre solution que mes connaissances limitées ne
me permettent pas d'envisager?

déjà merci pour tout ce que vous avez fait

"JB" a écrit dans le message de news:

Pour gérer les heures négatives, il faut soit utiliser le calendrier
1904(Outils/Options)

ou

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
d = [B12] - CDate(Me.TextBox1.Value)
If d >= 0 Then
ActiveCell.Value = [B12] - CDate(Me.TextBox1.Value)
ActiveCell.NumberFormat = "h:mm"
Else
ActiveCell = Format([B12] - CDate(Me.TextBox1.Value), "-hh:mm")
End If
End If
Unload Me
End Sub

Attention!, le résultat affiché dans la cellule active est une chaine
de carcatères et pas un nombre.

http://boisgontierj.free.fr/pages_site/FonctinsHeure.htm

JB


On 24 fév, 13:19, "fredbzr" wrote:
celà marche bien tant que mes heures sont positives
dès que le résultat de la soustraction est négatif alors le -1:00
s'inscrit -1:00:00 AM

"JB" a écrit dans le message de news:


Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = [B12] - CDate(Me.TextBox1.Value)
ActiveCell.NumberFormat = "h:mm"
End If
'Unload Me
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
Else
Me.TextBox1 = Format(Me.TextBox1, "hh:mm")
End If
End Sub

JB

On 24 fév, 09:04, "fredbzr" wrote:



Bonjour JB
je viens de tester votre code qui fonctionne à merveille
lorsque je mets 1:00 dans le texbox j'ai 1:00:00 AM,
comment ne garder que 1:00 (cellule au format:[h]:mm)
merci
"JB" a écrit dans le message de news:

Bonjour,

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - CDate(Me.TextBox1.Value))
End If
Unload Me
End Sub

Pour vérifier que l'opérateur a bien saisi un temps sous la forme
hh:mm:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub

Function EstTemps(t)
p = InStr(t, ":")
m = Mid(t, p + 1)
If p > 0 And Len(m) > 0 Then EstTemps = True Else EstTemps = False
End Function

JB

On 23 fév, 23:47, "fredbzr" wrote:

Bonsoir
j'ai effectué une modification sur le code de JB (merci pour son aide
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'inscris
en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm")
'Voilà
ce
que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -


- Afficher le texte des messages précédents -




Avatar
JB
Bonjour,

http://cjoint.com/?czrpJ716TJ

JB


On 24 fév, 23:00, "fredbzr" wrote:
BonsoirJB
je rentre juste du boulot
en effet et c'est bien là mon problème
j'ai besoin de rentrer manuellement des heures négatives dans un tableau
pour effectuer le suivit de compteurs horaires.J'avais pensé passer par le
textbox en effectuant une opération (soustraction par rapport à 0 ici ma
cellule BE1) pour pouvoir saisir mon heure négative.
c'est le même problème que j'ai rencontré avec ="-1:00" qui devie nt du texte
et plus un nombre
Est-ce que vous auriez une autre solution que mes connaissances limitée s ne
me permettent pas d'envisager?

déjà merci pour tout ce que vous avez fait

"JB" a écrit dans le message de news:

Pour gérer les heures négatives, il faut soit utiliser le calendrier
1904(Outils/Options)

ou

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
d = [B12] - CDate(Me.TextBox1.Value)
If d >= 0 Then
ActiveCell.Value = [B12] - CDate(Me.TextBox1.Value)
ActiveCell.NumberFormat = "h:mm"
Else
ActiveCell = Format([B12] - CDate(Me.TextBox1.Value), "-hh:mm")
End If
End If
Unload Me
End Sub

Attention!, le résultat affiché dans la cellule active est une chaine
de carcatères et pas un nombre.

http://boisgontierj.free.fr/pages_site/FonctinsHeure.htm

JB

On 24 fév, 13:19, "fredbzr" wrote:



celà marche bien tant que mes heures sont positives
dès que le résultat de la soustraction est négatif alors le -1:00
s'inscrit -1:00:00 AM

"JB" a écrit dans le message de news:


Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = [B12] - CDate(Me.TextBox1.Value)
ActiveCell.NumberFormat = "h:mm"
End If
'Unload Me
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
Else
Me.TextBox1 = Format(Me.TextBox1, "hh:mm")
End If
End Sub

JB

On 24 fév, 09:04, "fredbzr" wrote:

BonjourJB
je viens de tester votre code qui fonctionne à merveille
lorsque je mets 1:00 dans le texbox j'ai 1:00:00 AM,
comment ne garder que 1:00 (cellule au format:[h]:mm)
merci
"JB" a écrit dans le message de new s:

Bonjour,

Private Sub CommandButton1_Click()
If IsDate(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - CDate(Me.TextBox1.Value))
End If
Unload Me
End Sub

Pour vérifier que l'opérateur a bien saisi un temps sous la forme
hh:mm:

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not EstTemps(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub

Function EstTemps(t)
p = InStr(t, ":")
m = Mid(t, p + 1)
If p > 0 And Len(m) > 0 Then EstTemps = True Else EstTemps = Fal se
End Function

JB

On 23 fév, 23:47, "fredbzr" wrote:

Bonsoir
j'ai effectué une modification sur le code deJB(merci pour son ai de
précieuse) à la 3ème ligne car j'avais une erreur.
Je souhaiterais forcer la textbox à afficher le nombre que j'insc ris
en
"heure : minute"

Private Sub CommandButton1_Click()
If IsNumeric(Me.TextBox1.Value) Then
ActiveCell.Value = ([BE1] - Me.TextBox1.Value) / 24
TextBox1.Value = Format(Me.TextBox1.Value, "h:mm")
'Voilà
ce
que j'ai fait sans résultat
End If
Unload Me
End Sub

merci de votre aide
Fred- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte d es
messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -





1 2