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
Bonjour JB je viens de voir votre solution à mon problème, elle est très intéressante, je vais la mettre de côté et la décortiquer pour continuer à apprendre. J'ai résolu mon problème en inscrivant la valeur du textbox en BF1 (pour mon cas) puis lorsque je valide, la formule BE1 - BF1 s'applique dans ma cellule active (BE1 = 0:00), ce qui me donne une heure négative merci encore de votre disponibilité et de tous les codes que vous m'avez fait, je les ai gardé, pour l'instant je ne comprends pas tout mais j'y travaille
Private Sub CommandButton1_Click() [BF1] = UserForm1.TextBox1 ActiveCell.FormulaR1C1 = [BE1 - BF1] Unload Me End Sub
bonne soirée "JB" a écrit dans le message de news:
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 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.
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 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 deJB(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 -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour JB
je viens de voir votre solution à mon problème, elle est très intéressante,
je vais la mettre de côté et la décortiquer pour continuer à apprendre.
J'ai résolu mon problème en inscrivant la valeur du textbox en BF1 (pour
mon cas)
puis lorsque je valide, la formule BE1 - BF1 s'applique dans ma cellule
active (BE1 = 0:00), ce qui me donne une heure négative
merci encore de votre disponibilité et de tous les codes que vous m'avez
fait, je les ai gardé, pour l'instant je ne comprends pas tout mais j'y
travaille
Private Sub CommandButton1_Click()
[BF1] = UserForm1.TextBox1
ActiveCell.FormulaR1C1 = [BE1 - BF1]
Unload Me
End Sub
bonne soirée
"JB" <jacques.boisgontier@gmail.com> a écrit dans le message de news:
1172420172.417539.157840@m58g2000cwm.googlegroups.com...
Bonjour,
http://cjoint.com/?czrpJ716TJ
JB
On 24 fév, 23:00, "fredbzr" <fred...@wanadoo.fr> 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 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" <jacques.boisgont...@gmail.com> a écrit dans le message de news:
1172322427.686822.302...@k78g2000cwa.googlegroups.com...
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.
On 24 fév, 13:19, "fredbzr" <fred...@wanadoo.fr> 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" <jacques.boisgont...@gmail.com> a écrit dans le message de news:
1172316200.067452.23...@8g2000cwh.googlegroups.com...
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" <fred...@wanadoo.fr> 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" <jacques.boisgont...@gmail.com> a écrit dans le message de news:
1172297088.335925.20...@q2g2000cwa.googlegroups.com...
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" <fred...@wanadoo.fr> wrote:
Bonsoir
j'ai effectué une modification sur le code deJB(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 -- Masquer le texte des
messages précédents -
Bonjour JB je viens de voir votre solution à mon problème, elle est très intéressante, je vais la mettre de côté et la décortiquer pour continuer à apprendre. J'ai résolu mon problème en inscrivant la valeur du textbox en BF1 (pour mon cas) puis lorsque je valide, la formule BE1 - BF1 s'applique dans ma cellule active (BE1 = 0:00), ce qui me donne une heure négative merci encore de votre disponibilité et de tous les codes que vous m'avez fait, je les ai gardé, pour l'instant je ne comprends pas tout mais j'y travaille
Private Sub CommandButton1_Click() [BF1] = UserForm1.TextBox1 ActiveCell.FormulaR1C1 = [BE1 - BF1] Unload Me End Sub
bonne soirée "JB" a écrit dans le message de news:
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 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.
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 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 deJB(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 -- Masquer le texte des messages précédents -