1°si l'on supprime le jour erreur içi jour = CInt(Left(DateEntree, SepPos - 1)): DateEntree = Right(DateEntree, Len(DateEntree) - SepPos)
2°si l'on supprime le mois erreur içi mois = CInt(Left(DateEntree, SepPos - 1)): DateEntree = Right(DateEntree, Len(DateEntree) - SepPos)
3°si l'on supprime l'année erreur içi annee = CInt(DateEntree)
4°et impossible de tout supprimer
Ilan
Bonsoir,
M'ouais, il faisait quoi au fait ton code au depart ?!
tiens test celui-ci
Sub TextBox5_AfterUpdate() Dim jour As Integer, mois As Integer, annee As Integer Dim JourMax As Integer jour = Day(Date) mois = Month(Date) annee = Year(Date) JourMax = 31 Select Case Len(DateEntree) Case Is = 1, Is = 2 jour = DateEntree Case Is = 3, Is = 4 jour = Left(DateEntree, 2) mois = Right(DateEntree, Len(DateEntree) - 2) Case Is > 4 jour = Left(DateEntree, 2) mois = Mid(DateEntree, 3, 2) annee = Right(DateEntree, Len(DateEntree) - 4) End Select If mois = 0 Then mois = 1 If mois > 12 Then mois = 12 If mois <> 12 Then JourMax = Day(DateAdd("d", -1, "01/" & mois + 1 & "/" & annee)) If jour <= 0 Then jour = 1 If jour > JourMax Then jour = JourMax TextBox5.Value = Format(jour & "/" & mois & "/" & annee, "dd/mm/yyyy") End Sub
Private Sub TextBox5_Change() Dim i As Byte, car As String DateEntree = "" For i = 1 To Len(TextBox5.Value) If Mid(TextBox5.Value, i, 1) <> "/" Then DateEntree = DateEntree & Mid(TextBox5.Value, i, 1) Next i End Sub
Re
Désolé Ilan
1°si l'on supprime le jour erreur içi jour = CInt(Left(DateEntree, SepPos - 1)): DateEntree = Right(DateEntree, Len(DateEntree) - SepPos)
2°si l'on supprime le mois erreur içi mois = CInt(Left(DateEntree, SepPos - 1)): DateEntree = Right(DateEntree, Len(DateEntree) - SepPos)
3°si l'on supprime l'année erreur içi annee = CInt(DateEntree)
4°et impossible de tout supprimer
Bonsoir,
M'ouais, il faisait quoi au fait ton code au depart ?!
tiens test celui-ci
Sub TextBox5_AfterUpdate()
Dim jour As Integer, mois As Integer, annee As Integer
Dim JourMax As Integer
jour = Day(Date)
mois = Month(Date)
annee = Year(Date)
JourMax = 31
Select Case Len(DateEntree)
Case Is = 1, Is = 2
jour = DateEntree
Case Is = 3, Is = 4
jour = Left(DateEntree, 2)
mois = Right(DateEntree, Len(DateEntree) - 2)
Case Is > 4
jour = Left(DateEntree, 2)
mois = Mid(DateEntree, 3, 2)
annee = Right(DateEntree, Len(DateEntree) - 4)
End Select
If mois = 0 Then mois = 1
If mois > 12 Then mois = 12
If mois <> 12 Then JourMax = Day(DateAdd("d", -1, "01/" & mois + 1 & "/" &
annee))
If jour <= 0 Then jour = 1
If jour > JourMax Then jour = JourMax
TextBox5.Value = Format(jour & "/" & mois & "/" & annee, "dd/mm/yyyy")
End Sub
Private Sub TextBox5_Change()
Dim i As Byte, car As String
DateEntree = ""
For i = 1 To Len(TextBox5.Value)
If Mid(TextBox5.Value, i, 1) <> "/" Then DateEntree = DateEntree &
Mid(TextBox5.Value, i, 1)
Next i
End Sub
Re
Désolé Ilan
1°si l'on supprime le jour erreur içi
jour = CInt(Left(DateEntree, SepPos - 1)): DateEntree = Right(DateEntree,
Len(DateEntree) - SepPos)
2°si l'on supprime le mois erreur içi
mois = CInt(Left(DateEntree, SepPos - 1)): DateEntree = Right(DateEntree,
Len(DateEntree) - SepPos)
3°si l'on supprime l'année erreur içi
annee = CInt(DateEntree)
M'ouais, il faisait quoi au fait ton code au depart ?!
tiens test celui-ci
Sub TextBox5_AfterUpdate() Dim jour As Integer, mois As Integer, annee As Integer Dim JourMax As Integer jour = Day(Date) mois = Month(Date) annee = Year(Date) JourMax = 31 Select Case Len(DateEntree) Case Is = 1, Is = 2 jour = DateEntree Case Is = 3, Is = 4 jour = Left(DateEntree, 2) mois = Right(DateEntree, Len(DateEntree) - 2) Case Is > 4 jour = Left(DateEntree, 2) mois = Mid(DateEntree, 3, 2) annee = Right(DateEntree, Len(DateEntree) - 4) End Select If mois = 0 Then mois = 1 If mois > 12 Then mois = 12 If mois <> 12 Then JourMax = Day(DateAdd("d", -1, "01/" & mois + 1 & "/" & annee)) If jour <= 0 Then jour = 1 If jour > JourMax Then jour = JourMax TextBox5.Value = Format(jour & "/" & mois & "/" & annee, "dd/mm/yyyy") End Sub
Private Sub TextBox5_Change() Dim i As Byte, car As String DateEntree = "" For i = 1 To Len(TextBox5.Value) If Mid(TextBox5.Value, i, 1) <> "/" Then DateEntree = DateEntree & Mid(TextBox5.Value, i, 1) Next i End Sub
Re
Désolé Ilan
1°si l'on supprime le jour erreur içi jour = CInt(Left(DateEntree, SepPos - 1)): DateEntree = Right(DateEntree, Len(DateEntree) - SepPos)
2°si l'on supprime le mois erreur içi mois = CInt(Left(DateEntree, SepPos - 1)): DateEntree = Right(DateEntree, Len(DateEntree) - SepPos)
3°si l'on supprime l'année erreur içi annee = CInt(DateEntree)
4°et impossible de tout supprimer
David
Re.....Ilan
M'ouais, il faisait quoi au fait ton code au depart ?! Une erreur comme maintenant !!!!
ici
Variable "DateEntree" non défini dans Sub TextBox5_AfterUpdate() et Private Sub TextBox5_Change()
mille merci
David
Re.....Ilan
M'ouais, il faisait quoi au fait ton code au depart ?!
Une erreur comme maintenant !!!!
ici
Variable "DateEntree" non défini dans Sub TextBox5_AfterUpdate() et Private
Sub TextBox5_Change()
1° Quoi que l'on saisie, c'est la date du jour qui s'affiche
2° Impossible de supprimer la date
Merci de ta patiente
David
Ilan
Bonsoir, David
Voila le code complet que j'utilise et qui ne me pose pas de probleme.
Dim DateEntree As String
Sub TextBox5_AfterUpdate() Dim jour As Integer, mois As Integer, annee As Integer Dim JourMax As Integer jour = Day(Date) mois = Month(Date) annee = Year(Date) JourMax = 31 Select Case Len(DateEntree) Case Is = 1, Is = 2 jour = DateEntree Case Is = 3, Is = 4 jour = Left(DateEntree, 2) mois = Right(DateEntree, Len(DateEntree) - 2) Case Is > 4 jour = Left(DateEntree, 2) mois = Mid(DateEntree, 3, 2) annee = Right(DateEntree, Len(DateEntree) - 4) End Select If mois = 0 Then mois = 1 If mois > 12 Then mois = 12 If mois <> 12 Then JourMax = Day(DateAdd("d", -1, "01/" & mois + 1 & "/" & annee)) If jour <= 0 Then jour = 1 If jour > JourMax Then jour = JourMax TextBox5.Value = Format(jour & "/" & mois & "/" & annee, "dd/mm/yyyy") End Sub
Private Sub TextBox5_Change() Dim i As Byte, car As String DateEntree = "" For i = 1 To Len(TextBox5.Value) If Mid(TextBox5.Value, i, 1) <> "/" Then DateEntree = DateEntree & Mid(TextBox5.Value, i, 1) Next i End Sub
Private Sub TextBox5_Enter() TextBox5.MaxLength = 10 End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii <> 8 And KeyAscii <> 10 And KeyAscii <> 13 And (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 0 Exit Sub Else If Len(TextBox5.Text) = 2 Or Len(TextBox5.Text) = 5 Then TextBox5.Text = TextBox5.Text + "/" End If End Sub
Private Sub UserForm_Activate() TextBox5.Value = Format(Date, "dd/mm/yyyy") End Sub
Re bonjour Ilan
Désolé mais pas encore bon !!!
1° Quoi que l'on saisie, c'est la date du jour qui s'affiche
2° Impossible de supprimer la date
Merci de ta patiente
David
Bonsoir, David
Voila le code complet que j'utilise et qui ne me pose pas de probleme.
Dim DateEntree As String
Sub TextBox5_AfterUpdate()
Dim jour As Integer, mois As Integer, annee As Integer
Dim JourMax As Integer
jour = Day(Date)
mois = Month(Date)
annee = Year(Date)
JourMax = 31
Select Case Len(DateEntree)
Case Is = 1, Is = 2
jour = DateEntree
Case Is = 3, Is = 4
jour = Left(DateEntree, 2)
mois = Right(DateEntree, Len(DateEntree) - 2)
Case Is > 4
jour = Left(DateEntree, 2)
mois = Mid(DateEntree, 3, 2)
annee = Right(DateEntree, Len(DateEntree) - 4)
End Select
If mois = 0 Then mois = 1
If mois > 12 Then mois = 12
If mois <> 12 Then JourMax = Day(DateAdd("d", -1, "01/" & mois + 1 & "/" &
annee))
If jour <= 0 Then jour = 1
If jour > JourMax Then jour = JourMax
TextBox5.Value = Format(jour & "/" & mois & "/" & annee, "dd/mm/yyyy")
End Sub
Private Sub TextBox5_Change()
Dim i As Byte, car As String
DateEntree = ""
For i = 1 To Len(TextBox5.Value)
If Mid(TextBox5.Value, i, 1) <> "/" Then DateEntree = DateEntree &
Mid(TextBox5.Value, i, 1)
Next i
End Sub
Private Sub TextBox5_Enter()
TextBox5.MaxLength = 10
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii <> 8 And KeyAscii <> 10 And KeyAscii <> 13 And (KeyAscii < 48 Or
KeyAscii > 57) Then
KeyAscii = 0
Exit Sub
Else
If Len(TextBox5.Text) = 2 Or Len(TextBox5.Text) = 5 Then TextBox5.Text
= TextBox5.Text + "/"
End If
End Sub
Private Sub UserForm_Activate()
TextBox5.Value = Format(Date, "dd/mm/yyyy")
End Sub
Re bonjour Ilan
Désolé mais pas encore bon !!!
1° Quoi que l'on saisie, c'est la date du jour qui s'affiche
Voila le code complet que j'utilise et qui ne me pose pas de probleme.
Dim DateEntree As String
Sub TextBox5_AfterUpdate() Dim jour As Integer, mois As Integer, annee As Integer Dim JourMax As Integer jour = Day(Date) mois = Month(Date) annee = Year(Date) JourMax = 31 Select Case Len(DateEntree) Case Is = 1, Is = 2 jour = DateEntree Case Is = 3, Is = 4 jour = Left(DateEntree, 2) mois = Right(DateEntree, Len(DateEntree) - 2) Case Is > 4 jour = Left(DateEntree, 2) mois = Mid(DateEntree, 3, 2) annee = Right(DateEntree, Len(DateEntree) - 4) End Select If mois = 0 Then mois = 1 If mois > 12 Then mois = 12 If mois <> 12 Then JourMax = Day(DateAdd("d", -1, "01/" & mois + 1 & "/" & annee)) If jour <= 0 Then jour = 1 If jour > JourMax Then jour = JourMax TextBox5.Value = Format(jour & "/" & mois & "/" & annee, "dd/mm/yyyy") End Sub
Private Sub TextBox5_Change() Dim i As Byte, car As String DateEntree = "" For i = 1 To Len(TextBox5.Value) If Mid(TextBox5.Value, i, 1) <> "/" Then DateEntree = DateEntree & Mid(TextBox5.Value, i, 1) Next i End Sub
Private Sub TextBox5_Enter() TextBox5.MaxLength = 10 End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii <> 8 And KeyAscii <> 10 And KeyAscii <> 13 And (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 0 Exit Sub Else If Len(TextBox5.Text) = 2 Or Len(TextBox5.Text) = 5 Then TextBox5.Text = TextBox5.Text + "/" End If End Sub
Private Sub UserForm_Activate() TextBox5.Value = Format(Date, "dd/mm/yyyy") End Sub
Re bonjour Ilan
Désolé mais pas encore bon !!!
1° Quoi que l'on saisie, c'est la date du jour qui s'affiche