OVH Cloud OVH Cloud

Format de date dans un userform.

3 réponses
Avatar
Domestos
Bonjour,
Je débute en VBA, je travaille avec Office 97 edition PME.
J'ai créée un petit userform pour saisir différente données. Tout
semblait marché mais lorsque que j'ai voulu trier les données par date
je me suis rendu compte que le format de date prix en compte à la saisie
était de type "mm/jj/aa" alors qu'évidement je saisie les dates à la
française "jj/mm/aa"
Voici les lignes de code relatif à la date. Si une bonne âme voulait
m'aider à corriger le code suivant :

Private Sub BoutonFin_Click()
Unload UserForm1
End
End Sub

Private Sub BoutonValider_Click()
Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value =
Format(TextDate.Value, "dd/mm/yy")
End Sub

Private Sub TextDate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextDate.Value = Format(TextDate.Value, "dd/mm/yy")
End Sub

Private Sub UserForm_Initialize()
Dim Jour As Date
TextDate.Value = Date 'date du jour par défaut là ça marche
TextDate.Value = Format(TextDate.Value, "dd/mm/yy")
End Sub

Voilà bon je débute donc forcément il y a surment des trucs qui vont pas...

3 réponses

Avatar
Jacques93
Bonjour Domestos,

VBA travaille avec les date au format US "mm/dd/yy"

Essaie en remplaçant :

Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value Format(TextDate.Value, "dd/mm/yy")

par

Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value CDate(TextDate.Value)

La fonction CDate prend en compte les paramètres régionaux.


Bonjour,
Je débute en VBA, je travaille avec Office 97 edition PME.
J'ai créée un petit userform pour saisir différente données. Tout
semblait marché mais lorsque que j'ai voulu trier les données par date
je me suis rendu compte que le format de date prix en compte à la saisie
était de type "mm/jj/aa" alors qu'évidement je saisie les dates à la
française "jj/mm/aa"
Voici les lignes de code relatif à la date. Si une bonne âme voulait
m'aider à corriger le code suivant :

Private Sub BoutonFin_Click()
Unload UserForm1
End
End Sub

Private Sub BoutonValider_Click()
Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value =
Format(TextDate.Value, "dd/mm/yy")
End Sub

Private Sub TextDate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextDate.Value = Format(TextDate.Value, "dd/mm/yy")
End Sub

Private Sub UserForm_Initialize()
Dim Jour As Date
TextDate.Value = Date 'date du jour par défaut là ça marche
TextDate.Value = Format(TextDate.Value, "dd/mm/yy")
End Sub

Voilà bon je débute donc forcément il y a surment des trucs qui vont pas...



--
Cordialement,

Jacques.

Avatar
Domestos
Bonjour Domestos,

VBA travaille avec les date au format US "mm/dd/yy"

Essaie en remplaçant :

Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value > Format(TextDate.Value, "dd/mm/yy")

par

Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value > CDate(TextDate.Value)

La fonction CDate prend en compte les paramètres régionaux.



Bonjour,
Je débute en VBA, je travaille avec Office 97 edition PME.
J'ai créée un petit userform pour saisir différente données. Tout
semblait marché mais lorsque que j'ai voulu trier les données par date
je me suis rendu compte que le format de date prix en compte à la
saisie était de type "mm/jj/aa" alors qu'évidement je saisie les dates
à la française "jj/mm/aa"
Voici les lignes de code relatif à la date. Si une bonne âme voulait
m'aider à corriger le code suivant :

Private Sub BoutonFin_Click()
Unload UserForm1
End
End Sub

Private Sub BoutonValider_Click()
Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value =
Format(TextDate.Value, "dd/mm/yy")
End Sub

Private Sub TextDate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextDate.Value = Format(TextDate.Value, "dd/mm/yy")
End Sub

Private Sub UserForm_Initialize()
Dim Jour As Date
TextDate.Value = Date 'date du jour par défaut là ça marche
TextDate.Value = Format(TextDate.Value, "dd/mm/yy")
End Sub

Voilà bon je débute donc forcément il y a surment des trucs qui vont
pas...







Avatar
Domestos
Bonjour Domestos,

VBA travaille avec les date au format US "mm/dd/yy"

Essaie en remplaçant :

Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value > Format(TextDate.Value, "dd/mm/yy")

par

Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value > CDate(TextDate.Value)

La fonction CDate prend en compte les paramètres régionaux.



Bonjour,
Je débute en VBA, je travaille avec Office 97 edition PME.
J'ai créée un petit userform pour saisir différente données. Tout
semblait marché mais lorsque que j'ai voulu trier les données par date
je me suis rendu compte que le format de date prix en compte à la
saisie était de type "mm/jj/aa" alors qu'évidement je saisie les dates
à la française "jj/mm/aa"
Voici les lignes de code relatif à la date. Si une bonne âme voulait
m'aider à corriger le code suivant :

Private Sub BoutonFin_Click()
Unload UserForm1
End
End Sub

Private Sub BoutonValider_Click()
Range("Feuil1!a65536").End(xlUp).Offset(1, 0).Value =
Format(TextDate.Value, "dd/mm/yy")
End Sub

Private Sub TextDate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextDate.Value = Format(TextDate.Value, "dd/mm/yy")
End Sub

Private Sub UserForm_Initialize()
Dim Jour As Date
TextDate.Value = Date 'date du jour par défaut là ça marche
TextDate.Value = Format(TextDate.Value, "dd/mm/yy")
End Sub

Voilà bon je débute donc forcément il y a surment des trucs qui vont
pas...




Merci Jacques et bravo pour ta rapidité !

Ca marche impeccable !