OVH Cloud OVH Cloud

format de date dans un userform

2 réponses
Avatar
Uwaga
Bonsoir,

J'ai cree un userform avec entre autre 1 date a saisir.
J'ai insere dans le code la commande suivante trouve sur un exemple de
macro de ce forum :

OrderDate.Value = Format(OrderDate.Value, "dd/mm/yyyy")

Mais le probleme est que si on se trompe lors de la saisie (genre
20.08.06) ca provoque un gros bug qui plante tout : la macro et meme Excel.

2nd probleme : un textbox est ensuite mis a jour en ajoutant 20 jours a
cette date, mais je vois que le calcul est fait sur un format de date 'a
l'anglaise' (mois et jour inverses)

par quelle commande puis-je faire un sorte qu'une erreur de saisie
n'entraine pas ces consequences, et que le format soit bien jj/mm/aaaa,
et non pas mm/jj/aaaa ?

Merci d'avance pour votre aide,

2 réponses

Avatar
JB
Bonjour,

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not IsDate(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub

http://cjoint.com/?ivhhRIYhhY

Cordialement JB


Bonsoir,

J'ai cree un userform avec entre autre 1 date a saisir.
J'ai insere dans le code la commande suivante trouve sur un exemple de
macro de ce forum :

OrderDate.Value = Format(OrderDate.Value, "dd/mm/yyyy")

Mais le probleme est que si on se trompe lors de la saisie (genre
20.08.06) ca provoque un gros bug qui plante tout : la macro et meme Exce l.

2nd probleme : un textbox est ensuite mis a jour en ajoutant 20 jours a
cette date, mais je vois que le calcul est fait sur un format de date 'a
l'anglaise' (mois et jour inverses)

par quelle commande puis-je faire un sorte qu'une erreur de saisie
n'entraine pas ces consequences, et que le format soit bien jj/mm/aaaa,
et non pas mm/jj/aaaa ?

Merci d'avance pour votre aide,


Avatar
Uwaga
Bonsoir JB,

Merci pour ton aide, je vais tester tout ca de suite...

Bonne soiree,




Bonjour,

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If Not IsDate(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub

http://cjoint.com/?ivhhRIYhhY

Cordialement JB


Bonsoir,

J'ai cree un userform avec entre autre 1 date a saisir.
J'ai insere dans le code la commande suivante trouve sur un exemple de
macro de ce forum :

OrderDate.Value = Format(OrderDate.Value, "dd/mm/yyyy")

Mais le probleme est que si on se trompe lors de la saisie (genre
20.08.06) ca provoque un gros bug qui plante tout : la macro et meme Excel.

2nd probleme : un textbox est ensuite mis a jour en ajoutant 20 jours a
cette date, mais je vois que le calcul est fait sur un format de date 'a
l'anglaise' (mois et jour inverses)

par quelle commande puis-je faire un sorte qu'une erreur de saisie
n'entraine pas ces consequences, et que le format soit bien jj/mm/aaaa,
et non pas mm/jj/aaaa ?

Merci d'avance pour votre aide,