Je souhaite formater une textbox en date. J'ais donc mis=20
le code suivant :
Private Sub TextBox9_Change()
TextBox9.Value =3D Format(TextBox9.Value, "jj/mm/aaaa")
End Sub
Mais le probl=E8me c'est quand je saisi dans mon=20
userform ... la texte box affiche jj/mm/aaaa des je=20
commence =E0 renseign=E9 la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !!
Etrange non ?
J'ai rat=E9 quoi dans mon code ?
Par avance merci.
"TOF" a écrit dans le message de news:128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre: jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
"TOF" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:128501c4b5d8$9bc02200$a501280a@phx.gbl...
Bonjour
Je souhaite formater une textbox en date. J'ais donc mis
le code suivant :
Private Sub TextBox9_Change()
TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa")
End Sub
Mais le problème c'est quand je saisi dans mon
userform ... la texte box affiche jj/mm/aaaa des je
commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !!
Etrange non ?
J'ai raté quoi dans mon code ?
Par avance merci.
"TOF" a écrit dans le message de news:128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre: jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
Je souhaite formater une textbox en date. J'ais donc mis
le code suivant :
Private Sub TextBox9_Change()
TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa")
End Sub
Mais le problème c'est quand je saisi dans mon
userform ... la texte box affiche jj/mm/aaaa des je
commence à renseigné la zone !! Ca donne un truc du
genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !!
Etrange non ?
J'ai raté quoi dans mon code ?
Par avance merci.
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
.
papou
Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news: 128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre: jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
Bonjour
Va faire un tour ici, il y a plusieurs exemples :
http://www.excelabo.net/xl/controles.php
Cordialement
Pascal
"TOF" <anonymous@discussions.microsoft.com> a écrit dans le message de news:
128501c4b5d8$9bc02200$a501280a@phx.gbl...
Bonjour
Je souhaite formater une textbox en date. J'ais donc mis
le code suivant :
Private Sub TextBox9_Change()
TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa")
End Sub
Mais le problème c'est quand je saisi dans mon
userform ... la texte box affiche jj/mm/aaaa des je
commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !!
Etrange non ?
J'ai raté quoi dans mon code ?
Par avance merci.
Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news: 128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre: jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
PMO
Bonjour,
Essayez le code suivant
'**************** Option Explicit '_________________________________ Private Sub TextBox9_AfterUpdate() Dim C As Control Set C = TextBox9 If IsDate(C) Then C = Format(C, "dd/mm/yyyy") Else MsgBox "Veuillez saisir une date." C = "" End If End Sub '_________________________________ Private Sub TextBox10_Enter() 'Changer "TextBox10" par le nom de 'votre contrôle suivant ayant le focus If TextBox9.Value = "" Then TextBox9.SetFocus End Sub '****************
PMO Patrick Morange
Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre: jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
Bonjour,
Essayez le code suivant
'****************
Option Explicit
'_________________________________
Private Sub TextBox9_AfterUpdate()
Dim C As Control
Set C = TextBox9
If IsDate(C) Then
C = Format(C, "dd/mm/yyyy")
Else
MsgBox "Veuillez saisir une date."
C = ""
End If
End Sub
'_________________________________
Private Sub TextBox10_Enter() 'Changer "TextBox10" par le nom de
'votre contrôle suivant ayant le focus
If TextBox9.Value = "" Then TextBox9.SetFocus
End Sub
'****************
PMO
Patrick Morange
Bonjour
Je souhaite formater une textbox en date. J'ais donc mis
le code suivant :
Private Sub TextBox9_Change()
TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa")
End Sub
Mais le problème c'est quand je saisi dans mon
userform ... la texte box affiche jj/mm/aaaa des je
commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !!
Etrange non ?
J'ai raté quoi dans mon code ?
Par avance merci.
'**************** Option Explicit '_________________________________ Private Sub TextBox9_AfterUpdate() Dim C As Control Set C = TextBox9 If IsDate(C) Then C = Format(C, "dd/mm/yyyy") Else MsgBox "Veuillez saisir une date." C = "" End If End Sub '_________________________________ Private Sub TextBox10_Enter() 'Changer "TextBox10" par le nom de 'votre contrôle suivant ayant le focus If TextBox9.Value = "" Then TextBox9.SetFocus End Sub '****************
PMO Patrick Morange
Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre: jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
TOF
Ben oui, mais le problème c'est que c'est là que j'ai pris les codes que j'ai utilisé !!! Et donc ça me fait un plan genre 4eme dimension !! Sniff !
-----Message d'origine----- Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news:
128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
.
Ben oui, mais le problème c'est que c'est là que j'ai
pris les codes que j'ai utilisé !!!
Et donc ça me fait un plan genre 4eme dimension !!
Sniff !
-----Message d'origine-----
Bonjour
Va faire un tour ici, il y a plusieurs exemples :
http://www.excelabo.net/xl/controles.php
Cordialement
Pascal
"TOF" <anonymous@discussions.microsoft.com> a écrit dans
le message de news:
128501c4b5d8$9bc02200$a501280a@phx.gbl...
Bonjour
Je souhaite formater une textbox en date. J'ais donc mis
le code suivant :
Private Sub TextBox9_Change()
TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa")
End Sub
Mais le problème c'est quand je saisi dans mon
userform ... la texte box affiche jj/mm/aaaa des je
commence à renseigné la zone !! Ca donne un truc du
genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !!
Etrange non ?
J'ai raté quoi dans mon code ?
Par avance merci.
Ben oui, mais le problème c'est que c'est là que j'ai pris les codes que j'ai utilisé !!! Et donc ça me fait un plan genre 4eme dimension !! Sniff !
-----Message d'origine----- Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news:
128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
.
papou
Re Comment est saisie ta date ? Sinon, la suggestion de PMO me semble judicieuse (utilisation de l'évènement AfterUpDate) Cordialement Pascal
"TOF" a écrit dans le message de news: 137201c4b5ec$a8e70c00$ Ben oui, mais le problème c'est que c'est là que j'ai pris les codes que j'ai utilisé !!! Et donc ça me fait un plan genre 4eme dimension !! Sniff !
-----Message d'origine----- Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news:
128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
.
Re
Comment est saisie ta date ?
Sinon, la suggestion de PMO me semble judicieuse (utilisation de l'évènement
AfterUpDate)
Cordialement
Pascal
"TOF" <anonymous@discussions.microsoft.com> a écrit dans le message de news:
137201c4b5ec$a8e70c00$a501280a@phx.gbl...
Ben oui, mais le problème c'est que c'est là que j'ai
pris les codes que j'ai utilisé !!!
Et donc ça me fait un plan genre 4eme dimension !!
Sniff !
-----Message d'origine-----
Bonjour
Va faire un tour ici, il y a plusieurs exemples :
http://www.excelabo.net/xl/controles.php
Cordialement
Pascal
"TOF" <anonymous@discussions.microsoft.com> a écrit dans
le message de news:
128501c4b5d8$9bc02200$a501280a@phx.gbl...
Bonjour
Je souhaite formater une textbox en date. J'ais donc mis
le code suivant :
Private Sub TextBox9_Change()
TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa")
End Sub
Mais le problème c'est quand je saisi dans mon
userform ... la texte box affiche jj/mm/aaaa des je
commence à renseigné la zone !! Ca donne un truc du
genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !!
Etrange non ?
J'ai raté quoi dans mon code ?
Par avance merci.
Re Comment est saisie ta date ? Sinon, la suggestion de PMO me semble judicieuse (utilisation de l'évènement AfterUpDate) Cordialement Pascal
"TOF" a écrit dans le message de news: 137201c4b5ec$a8e70c00$ Ben oui, mais le problème c'est que c'est là que j'ai pris les codes que j'ai utilisé !!! Et donc ça me fait un plan genre 4eme dimension !! Sniff !
-----Message d'origine----- Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news:
128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
.
isabelle
bonjour Tof,
voici une adaptation de la Fonction Téléphone de Denis Michon,
Private Sub TextBox1_Change() TextBox1 = LaDate(TextBox1) End Sub
'pour récupérer la valeur date Sheets("Feuil1").Range("A1") = CDate(TextBox1)
Function LaDate(Tbox As MSForms.TextBox) Dim Nb As Integer, R As String, G As String Dim T As String, arr(), A As Integer arr = Array("/", "/", " ") T = Tbox For Each elt In arr T = Replace(T, elt, "") Next Nb = Len(T) If Nb > 8 Then Tbox = Left(Tbox, Len(Tbox) - 1) LaDate = Tbox Exit Function End If For A = 1 To Nb If IsNumeric(Mid(T, A, 1)) = True Then R = R & Mid(T, A, 1) End If Next If Nb >= 2 And Nb <= 5 Then G = Left(R, 2) & "/" & Right(R, Len(R) - 2) ElseIf Nb > 5 And Nb <= 10 Then G = Left(R, 2) & "/" & Mid(R, 3, 2) & "/" & Right(R, Len(R) - 4) Else G = R End If LaDate = G End Function
isabelle
Ben oui, mais le problème c'est que c'est là que j'ai pris les codes que j'ai utilisé !!! Et donc ça me fait un plan genre 4eme dimension !! Sniff !
-----Message d'origine----- Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news:
128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
.
bonjour Tof,
voici une adaptation de la Fonction Téléphone de Denis Michon,
Private Sub TextBox1_Change()
TextBox1 = LaDate(TextBox1)
End Sub
'pour récupérer la valeur date
Sheets("Feuil1").Range("A1") = CDate(TextBox1)
Function LaDate(Tbox As MSForms.TextBox)
Dim Nb As Integer, R As String, G As String
Dim T As String, arr(), A As Integer
arr = Array("/", "/", " ")
T = Tbox
For Each elt In arr
T = Replace(T, elt, "")
Next
Nb = Len(T)
If Nb > 8 Then
Tbox = Left(Tbox, Len(Tbox) - 1)
LaDate = Tbox
Exit Function
End If
For A = 1 To Nb
If IsNumeric(Mid(T, A, 1)) = True Then
R = R & Mid(T, A, 1)
End If
Next
If Nb >= 2 And Nb <= 5 Then
G = Left(R, 2) & "/" & Right(R, Len(R) - 2)
ElseIf Nb > 5 And Nb <= 10 Then
G = Left(R, 2) & "/" & Mid(R, 3, 2) & "/" & Right(R, Len(R) - 4)
Else
G = R
End If
LaDate = G
End Function
isabelle
Ben oui, mais le problème c'est que c'est là que j'ai
pris les codes que j'ai utilisé !!!
Et donc ça me fait un plan genre 4eme dimension !!
Sniff !
-----Message d'origine-----
Bonjour
Va faire un tour ici, il y a plusieurs exemples :
http://www.excelabo.net/xl/controles.php
Cordialement
Pascal
"TOF" <anonymous@discussions.microsoft.com> a écrit dans
le message de news:
128501c4b5d8$9bc02200$a501280a@phx.gbl...
Bonjour
Je souhaite formater une textbox en date. J'ais donc mis
le code suivant :
Private Sub TextBox9_Change()
TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa")
End Sub
Mais le problème c'est quand je saisi dans mon
userform ... la texte box affiche jj/mm/aaaa des je
commence à renseigné la zone !! Ca donne un truc du
genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !!
Etrange non ?
J'ai raté quoi dans mon code ?
Par avance merci.
voici une adaptation de la Fonction Téléphone de Denis Michon,
Private Sub TextBox1_Change() TextBox1 = LaDate(TextBox1) End Sub
'pour récupérer la valeur date Sheets("Feuil1").Range("A1") = CDate(TextBox1)
Function LaDate(Tbox As MSForms.TextBox) Dim Nb As Integer, R As String, G As String Dim T As String, arr(), A As Integer arr = Array("/", "/", " ") T = Tbox For Each elt In arr T = Replace(T, elt, "") Next Nb = Len(T) If Nb > 8 Then Tbox = Left(Tbox, Len(Tbox) - 1) LaDate = Tbox Exit Function End If For A = 1 To Nb If IsNumeric(Mid(T, A, 1)) = True Then R = R & Mid(T, A, 1) End If Next If Nb >= 2 And Nb <= 5 Then G = Left(R, 2) & "/" & Right(R, Len(R) - 2) ElseIf Nb > 5 And Nb <= 10 Then G = Left(R, 2) & "/" & Mid(R, 3, 2) & "/" & Right(R, Len(R) - 4) Else G = R End If LaDate = G End Function
isabelle
Ben oui, mais le problème c'est que c'est là que j'ai pris les codes que j'ai utilisé !!! Et donc ça me fait un plan genre 4eme dimension !! Sniff !
-----Message d'origine----- Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news:
128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
.
isabelle
si tu désire le format ISO, remplace la fonction par celle-ci,
Function LaDateISO(Tbox As MSForms.TextBox) 'Format aaaa/mm/jj Dim Nb As Integer, R As String, G As String Dim T As String, arr(), A As Integer
arr = Array("/", "/", " ") T = Tbox For Each elt In arr T = Replace(T, elt, "") Next
Nb = Len(T) If Nb > 8 Then Tbox = Left(Tbox, Len(Tbox) - 1) LaDateISO = Tbox Exit Function End If For A = 1 To Nb If IsNumeric(Mid(T, A, 1)) = True Then R = R & Mid(T, A, 1) End If Next If Nb >= 4 And Nb <= 6 Then G = Left(R, 4) & "/" & Right(R, Len(R) - 4) ElseIf Nb > 6 And Nb <= 8 Then G = Left(R, 4) & "/" & Mid(R, 5, 2) & "/" & Right(R, Len(R) - 6) Else G = R End If LaDateISO = G End Function
isabelle
bonjour Tof,
voici une adaptation de la Fonction Téléphone de Denis Michon,
Private Sub TextBox1_Change() TextBox1 = LaDate(TextBox1) End Sub
'pour récupérer la valeur date Sheets("Feuil1").Range("A1") = CDate(TextBox1)
Function LaDate(Tbox As MSForms.TextBox) Dim Nb As Integer, R As String, G As String Dim T As String, arr(), A As Integer arr = Array("/", "/", " ") T = Tbox For Each elt In arr T = Replace(T, elt, "") Next Nb = Len(T) If Nb > 8 Then Tbox = Left(Tbox, Len(Tbox) - 1) LaDate = Tbox Exit Function End If For A = 1 To Nb If IsNumeric(Mid(T, A, 1)) = True Then R = R & Mid(T, A, 1) End If Next If Nb >= 2 And Nb <= 5 Then G = Left(R, 2) & "/" & Right(R, Len(R) - 2) ElseIf Nb > 5 And Nb <= 10 Then G = Left(R, 2) & "/" & Mid(R, 3, 2) & "/" & Right(R, Len(R) - 4) Else G = R End If LaDate = G End Function
isabelle
Ben oui, mais le problème c'est que c'est là que j'ai pris les codes que j'ai utilisé !!! Et donc ça me fait un plan genre 4eme dimension !! Sniff !
-----Message d'origine----- Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news:
128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.
TOF
.
si tu désire le format ISO, remplace la fonction par celle-ci,
Function LaDateISO(Tbox As MSForms.TextBox)
'Format aaaa/mm/jj
Dim Nb As Integer, R As String, G As String
Dim T As String, arr(), A As Integer
arr = Array("/", "/", " ")
T = Tbox
For Each elt In arr
T = Replace(T, elt, "")
Next
Nb = Len(T)
If Nb > 8 Then
Tbox = Left(Tbox, Len(Tbox) - 1)
LaDateISO = Tbox
Exit Function
End If
For A = 1 To Nb
If IsNumeric(Mid(T, A, 1)) = True Then
R = R & Mid(T, A, 1)
End If
Next
If Nb >= 4 And Nb <= 6 Then
G = Left(R, 4) & "/" & Right(R, Len(R) - 4)
ElseIf Nb > 6 And Nb <= 8 Then
G = Left(R, 4) & "/" & Mid(R, 5, 2) & "/" & Right(R, Len(R) - 6)
Else
G = R
End If
LaDateISO = G
End Function
isabelle
bonjour Tof,
voici une adaptation de la Fonction Téléphone de Denis Michon,
Private Sub TextBox1_Change()
TextBox1 = LaDate(TextBox1)
End Sub
'pour récupérer la valeur date
Sheets("Feuil1").Range("A1") = CDate(TextBox1)
Function LaDate(Tbox As MSForms.TextBox)
Dim Nb As Integer, R As String, G As String
Dim T As String, arr(), A As Integer
arr = Array("/", "/", " ")
T = Tbox
For Each elt In arr
T = Replace(T, elt, "")
Next
Nb = Len(T)
If Nb > 8 Then
Tbox = Left(Tbox, Len(Tbox) - 1)
LaDate = Tbox
Exit Function
End If
For A = 1 To Nb
If IsNumeric(Mid(T, A, 1)) = True Then
R = R & Mid(T, A, 1)
End If
Next
If Nb >= 2 And Nb <= 5 Then
G = Left(R, 2) & "/" & Right(R, Len(R) - 2)
ElseIf Nb > 5 And Nb <= 10 Then
G = Left(R, 2) & "/" & Mid(R, 3, 2) & "/" & Right(R, Len(R) - 4)
Else
G = R
End If
LaDate = G
End Function
isabelle
Ben oui, mais le problème c'est que c'est là que j'ai
pris les codes que j'ai utilisé !!!
Et donc ça me fait un plan genre 4eme dimension !!
Sniff !
-----Message d'origine-----
Bonjour
Va faire un tour ici, il y a plusieurs exemples :
http://www.excelabo.net/xl/controles.php
Cordialement
Pascal
"TOF" <anonymous@discussions.microsoft.com> a écrit dans
le message de news:
128501c4b5d8$9bc02200$a501280a@phx.gbl...
Bonjour
Je souhaite formater une textbox en date. J'ais donc mis
le code suivant :
Private Sub TextBox9_Change()
TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa")
End Sub
Mais le problème c'est quand je saisi dans mon
userform ... la texte box affiche jj/mm/aaaa des je
commence à renseigné la zone !! Ca donne un truc du
genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !!
Etrange non ?
J'ai raté quoi dans mon code ?
Par avance merci.
si tu désire le format ISO, remplace la fonction par celle-ci,
Function LaDateISO(Tbox As MSForms.TextBox) 'Format aaaa/mm/jj Dim Nb As Integer, R As String, G As String Dim T As String, arr(), A As Integer
arr = Array("/", "/", " ") T = Tbox For Each elt In arr T = Replace(T, elt, "") Next
Nb = Len(T) If Nb > 8 Then Tbox = Left(Tbox, Len(Tbox) - 1) LaDateISO = Tbox Exit Function End If For A = 1 To Nb If IsNumeric(Mid(T, A, 1)) = True Then R = R & Mid(T, A, 1) End If Next If Nb >= 4 And Nb <= 6 Then G = Left(R, 4) & "/" & Right(R, Len(R) - 4) ElseIf Nb > 6 And Nb <= 8 Then G = Left(R, 4) & "/" & Mid(R, 5, 2) & "/" & Right(R, Len(R) - 6) Else G = R End If LaDateISO = G End Function
isabelle
bonjour Tof,
voici une adaptation de la Fonction Téléphone de Denis Michon,
Private Sub TextBox1_Change() TextBox1 = LaDate(TextBox1) End Sub
'pour récupérer la valeur date Sheets("Feuil1").Range("A1") = CDate(TextBox1)
Function LaDate(Tbox As MSForms.TextBox) Dim Nb As Integer, R As String, G As String Dim T As String, arr(), A As Integer arr = Array("/", "/", " ") T = Tbox For Each elt In arr T = Replace(T, elt, "") Next Nb = Len(T) If Nb > 8 Then Tbox = Left(Tbox, Len(Tbox) - 1) LaDate = Tbox Exit Function End If For A = 1 To Nb If IsNumeric(Mid(T, A, 1)) = True Then R = R & Mid(T, A, 1) End If Next If Nb >= 2 And Nb <= 5 Then G = Left(R, 2) & "/" & Right(R, Len(R) - 2) ElseIf Nb > 5 And Nb <= 10 Then G = Left(R, 2) & "/" & Mid(R, 3, 2) & "/" & Right(R, Len(R) - 4) Else G = R End If LaDate = G End Function
isabelle
Ben oui, mais le problème c'est que c'est là que j'ai pris les codes que j'ai utilisé !!! Et donc ça me fait un plan genre 4eme dimension !! Sniff !
-----Message d'origine----- Bonjour Va faire un tour ici, il y a plusieurs exemples : http://www.excelabo.net/xl/controles.php Cordialement Pascal
"TOF" a écrit dans le message de news:
128501c4b5d8$9bc02200$ Bonjour
Je souhaite formater une textbox en date. J'ais donc mis le code suivant :
Private Sub TextBox9_Change() TextBox9.Value = Format(TextBox9.Value, "jj/mm/aaaa") End Sub
Mais le problème c'est quand je saisi dans mon userform ... la texte box affiche jj/mm/aaaa des je commence à renseigné la zone !! Ca donne un truc du genre:
jj/01/aaaa0/10/90 lorsque je rentre 20/10/90 !! Etrange non ? J'ai raté quoi dans mon code ? Par avance merci.