Bonjour,
j'ai cr=E9=E9 un userform
celui ci contient 3 textbox
Textbox1 : date de d=E9part
Textbox2 : date de retour
Textbox3 : diff=E9rence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change()
TextBox3.Value =3D Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
et
Private Sub TextBox2_Change()
TextBox3.Value =3D Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
Évidemment, je prends pour acquis que tu as vraiment dans les textbox1 et 2 des entrées reconnues comme des formats de date acceptable par excel.
Sinon, tu peux toujours tester : if isdate(textbox1.value) and isdate(Textbox2.value) then TextBox3.Value = Cdate(TextBox1.Value) - Cdate(TextBox2.Value) Else Msgbox "problème avec le contenu des textbox... pas des dates" End if
"Fredo(67)" a écrit dans le message de news:
Bonjour, j'ai créé un userform celui ci contient 3 textbox Textbox1 : date de départ Textbox2 : date de retour Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
et
Private Sub TextBox2_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
Évidemment, je prends pour acquis que tu as vraiment dans les
textbox1 et 2 des entrées reconnues comme des formats de date
acceptable par excel.
Sinon, tu peux toujours tester :
if isdate(textbox1.value) and isdate(Textbox2.value) then
TextBox3.Value = Cdate(TextBox1.Value) - Cdate(TextBox2.Value)
Else
Msgbox "problème avec le contenu des textbox... pas des dates"
End if
"Fredo(67)" <frederic.seys@socara.net> a écrit dans le message de news:
b76bf110-97cb-43bf-bf7e-0a1c73d06e04@k13g2000hse.googlegroups.com...
Bonjour,
j'ai créé un userform
celui ci contient 3 textbox
Textbox1 : date de départ
Textbox2 : date de retour
Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change()
TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
et
Private Sub TextBox2_Change()
TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
Évidemment, je prends pour acquis que tu as vraiment dans les textbox1 et 2 des entrées reconnues comme des formats de date acceptable par excel.
Sinon, tu peux toujours tester : if isdate(textbox1.value) and isdate(Textbox2.value) then TextBox3.Value = Cdate(TextBox1.Value) - Cdate(TextBox2.Value) Else Msgbox "problème avec le contenu des textbox... pas des dates" End if
"Fredo(67)" a écrit dans le message de news:
Bonjour, j'ai créé un userform celui ci contient 3 textbox Textbox1 : date de départ Textbox2 : date de retour Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
et
Private Sub TextBox2_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
Comment faire ?
merci
lSteph
Bonjour,
Choisir celle qui te convient (date saisie au format dd/mm/yyyy)
'durée en jours: Private Sub TextBox2_AfterUpdate() TextBox3 = DateValue(TextBox2) - DateValue(TextBox1) + 1 End Sub
'différence en jour Private Sub TextBox2_AfterUpdate() TextBox3 = DateValue(TextBox2) - DateValue(TextBox1) End Sub
'lSteph
On 13 août, 16:03, "Fredo(67)" wrote:
Bonjour, j'ai créé un userform celui ci contient 3 textbox Textbox1 : date de départ Textbox2 : date de retour Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
et
Private Sub TextBox2_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
Comment faire ?
merci
Bonjour,
Choisir celle qui te convient (date saisie au format dd/mm/yyyy)
'durée en jours:
Private Sub TextBox2_AfterUpdate()
TextBox3 = DateValue(TextBox2) - DateValue(TextBox1) + 1
End Sub
'différence en jour
Private Sub TextBox2_AfterUpdate()
TextBox3 = DateValue(TextBox2) - DateValue(TextBox1)
End Sub
'lSteph
On 13 août, 16:03, "Fredo(67)" <frederic.s...@socara.net> wrote:
Bonjour,
j'ai créé un userform
celui ci contient 3 textbox
Textbox1 : date de départ
Textbox2 : date de retour
Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change()
TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
et
Private Sub TextBox2_Change()
TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
J'ai mis en place la solution de ISteph, et cela fonctionne
je testerai plus tard la solution de Michdenis
Encore merci,
je peux maintenant me pencher sur la suite de ma macro
lSteph
..pour calculer en jours une durée (mettre le +1) ou différence (ne pas le mettre) , je prends plutôt la date la plus récente de laquelle j'enlève la plus ancienne ce qui me donnera positivement le résultat cela fait 6 jours par exemple et non pas cela fait moins 6jours Voici rectifié pour les cas d'erreur de saisie date:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error GoTo fin TextBox1 = Format(CDate(TextBox1), "dd/mm/yyyy") Exit Sub fin: On Error GoTo 0 Cancel = True TextBox1.SetFocus: MsgBox "une date" End Sub
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error GoTo fin TextBox2 = Format(CDate(TextBox2), "dd/mm/yyyy") Exit Sub fin: On Error GoTo 0 Cancel = True TextBox2.SetFocus: MsgBox "une date" End Sub
Private Sub TextBox2_AfterUpdate() TextBox3 = DateValue(TextBox2) - DateValue(TextBox1) + 1 End Sub
'lSteph
On 13 août, 16:03, "Fredo(67)" wrote:
Bonjour, j'ai créé un userform celui ci contient 3 textbox Textbox1 : date de départ Textbox2 : date de retour Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
et
Private Sub TextBox2_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
Comment faire ?
merci
..pour calculer en jours une durée (mettre le +1) ou différence (ne
pas le mettre) ,
je prends plutôt la date la plus récente de laquelle
j'enlève la plus ancienne ce qui me donnera positivement le résultat
cela fait 6 jours par exemple
et non pas cela fait moins 6jours
Voici rectifié pour les cas d'erreur de saisie date:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
On Error GoTo fin
TextBox1 = Format(CDate(TextBox1), "dd/mm/yyyy")
Exit Sub
fin:
On Error GoTo 0
Cancel = True
TextBox1.SetFocus: MsgBox "une date"
End Sub
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
On Error GoTo fin
TextBox2 = Format(CDate(TextBox2), "dd/mm/yyyy")
Exit Sub
fin:
On Error GoTo 0
Cancel = True
TextBox2.SetFocus: MsgBox "une date"
End Sub
Private Sub TextBox2_AfterUpdate()
TextBox3 = DateValue(TextBox2) - DateValue(TextBox1) + 1
End Sub
'lSteph
On 13 août, 16:03, "Fredo(67)" <frederic.s...@socara.net> wrote:
Bonjour,
j'ai créé un userform
celui ci contient 3 textbox
Textbox1 : date de départ
Textbox2 : date de retour
Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change()
TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
et
Private Sub TextBox2_Change()
TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
..pour calculer en jours une durée (mettre le +1) ou différence (ne pas le mettre) , je prends plutôt la date la plus récente de laquelle j'enlève la plus ancienne ce qui me donnera positivement le résultat cela fait 6 jours par exemple et non pas cela fait moins 6jours Voici rectifié pour les cas d'erreur de saisie date:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error GoTo fin TextBox1 = Format(CDate(TextBox1), "dd/mm/yyyy") Exit Sub fin: On Error GoTo 0 Cancel = True TextBox1.SetFocus: MsgBox "une date" End Sub
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error GoTo fin TextBox2 = Format(CDate(TextBox2), "dd/mm/yyyy") Exit Sub fin: On Error GoTo 0 Cancel = True TextBox2.SetFocus: MsgBox "une date" End Sub
Private Sub TextBox2_AfterUpdate() TextBox3 = DateValue(TextBox2) - DateValue(TextBox1) + 1 End Sub
'lSteph
On 13 août, 16:03, "Fredo(67)" wrote:
Bonjour, j'ai créé un userform celui ci contient 3 textbox Textbox1 : date de départ Textbox2 : date de retour Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
et
Private Sub TextBox2_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
Comment faire ?
merci
LE TROLL
Bonjour,
Et en Passant par l'intermédiaire de variable date, schématiquement :
dim debut as date dim fin as date dim diff as long debut=text1 fin=text2 diff = fin - debut text3=diff
Normalement on n'utilise pas directement les objets pour calculer, car selon les objets ce ne serait pas pareil (un labelBox par exemple)...
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Fredo(67)" a écrit dans le message de news:
Bonjour, j'ai créé un userform celui ci contient 3 textbox Textbox1 : date de départ Textbox2 : date de retour Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
et
Private Sub TextBox2_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
Comment faire ?
merci
Bonjour,
Et en Passant par l'intermédiaire de variable date, schématiquement :
dim debut as date
dim fin as date
dim diff as long
debut=text1
fin=text2
diff = fin - debut
text3=diff
Normalement on n'utilise pas directement les objets pour calculer, car selon
les objets ce ne serait pas pareil (un labelBox par exemple)...
--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Fredo(67)" <frederic.seys@socara.net> a écrit dans le message de news:
b76bf110-97cb-43bf-bf7e-0a1c73d06e04@k13g2000hse.googlegroups.com...
Bonjour,
j'ai créé un userform
celui ci contient 3 textbox
Textbox1 : date de départ
Textbox2 : date de retour
Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change()
TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
et
Private Sub TextBox2_Change()
TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value)
End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.
Et en Passant par l'intermédiaire de variable date, schématiquement :
dim debut as date dim fin as date dim diff as long debut=text1 fin=text2 diff = fin - debut text3=diff
Normalement on n'utilise pas directement les objets pour calculer, car selon les objets ce ne serait pas pareil (un labelBox par exemple)...
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Fredo(67)" a écrit dans le message de news:
Bonjour, j'ai créé un userform celui ci contient 3 textbox Textbox1 : date de départ Textbox2 : date de retour Textbox3 : différence entre les 2 dates
J'ai mis ceci comme code des textbox 1 et 2
Private Sub TextBox1_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
et
Private Sub TextBox2_Change() TextBox3.Value = Val(TextBox1.Value) - Val(TextBox2.Value) End Sub
Cela marche quand j'utilise des nombre, mais pas avec les dates.