Problème avec date

Bonjour,

Lorsque je saisie une date, je demande le format dd-mm-yyyy

Private Sub tb_ent_rappel_AfterUpdate()

Dim Message As String

Dim Réponse As Integer

If Not IsDate(Me.tb_ent_rappel.Value) Then

Message = "Veuillez entrer une date valide !"

Réponse = MsgBox(Message, vbOKOnly, "Controle de saisie")

Me.tb_ent_rappel.SetFocus

Else

Call MAJ_actif

End If

End Sub

Lorsque j’enregistre, j'utilise ce format : yyyy-mm-dd

Range("AH" & L).Value = Format(tb_ent_rappel, "YYYY-MM-DD")

Dans mon fichier excel, c'Est ok!

À l'affichage, j'utilise le format dd-mm-yyyy et pourtant, la date ne respecte pas le bon format, il inverse le mois et jour.

tb_ent_rappel = Format(Ws.Cells(Ligne, "ah"), "DD-MM-YYYY")

Sub MAJ_actif()

Transaction.btn_Suivant.Enabled = False

Transaction.btn_Précédent.Enabled = False

'Transaction.cb_trier.Enabled = False

Transaction.btn_ajouter.Enabled = False

Transaction.btn_enregistrer.Enabled = True

Transaction.cb_no_transaction.Enabled = False

End Sub

Je n comprends pas pourquoi ?

Bonjour,

A 30 messages, il y a longtemps que tu devrais savoir utiliser la balise Code. Tu pourrais donc éditer ton message et mettre ton code sous balises Code !

1) Lorsque tu utilises la fonction Format, le résultat est du texte, non une valeur de type Date.

2) Toute valeur insérée dans une TextBox est par définition du texte.

3) Toute valeur texte doit être convertie en date pour devenir une valeur Date.

4) Tout texte ayant la forme d'une date peut être automatiquement converti en date par Excel ou VBA.

5) Mais à l'inverse tout texte représentant une date mais n'en ayant pas la forme ne sera pas converti, ni automatiquement ni sur demande.

6) Si VBA convertit de son propre chef, il interprète autant qu'il le peut le texte converti comme une date au format américain.

7) Si on force la conversion par VBA, ce dernier ira se référer aux paramètres régionaux du système pour interpréter le texte en tant que date.

Voilà tout ce qu'il faut savoir pour ne pas confondre valeur de type Date et mise en forme d'une date, et régler les problèmes de dates...

Ok, merci!

Ça ne règle pas mon problème mais je comprends que mes dates sont probablement au format texte.

Cela devrait si tu suis pas à pas ce que tu fais.

J'ai essayé de comprend et j'ai enregistré en mettant cette ligne mais j'obtiens une erreur.

Range("AH" & L).Value = CDate(tb_ent_rappel)

Plus je lis, plus je me perds.

On est plusieurs à avoir ce problème de saisir une date au format dd-mm-yyyy et de vouloir l'enregistrer au format yyyy-mm-dd.

Je vais donc saisir ma date au format américain pour faire simple.

Excel et VBA reconnaissent le tiret et le slash comme séparateurs de dates, mais à ma connaissance seul le slash figure au Panneau de configuration Windows...

Omettre la propriété appelée de la TextBox, ça marche souvent, mais parfois pas ! Ce n'est donc pas vraiment une simplification...

Rechercher des sujets similaires à "probleme date"