Saise de date au format Francais (VBA)

Fermé
Geoman - 10 juin 2009 à 11:30
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 12 juin 2009 à 11:59
Bonjour,

Je souhaite saisir des dates dans une input box en VBA. Je rencontre alors le problème du format de la date. Lorsque que je saisie 1/5/9, cela m'affiche 05/01/2009. J'ai donc contourné le problème en modifiant le format de la cellule dans mon programme et j'affiche bien 01/05/2009. Ceci dit, lorsque je saisis x/m/yyyy, avec x>12, il décrypte un mois supérieur à 12: par exemple, je saisis 24/5/9, et il me laisse 24/5/9 au lieu de 24/05/2009.
Je sais que je simplifierais grandement mon problème si je me contentais d'utiliser un masque m'obligeant à saisir dd/mm/yyyy. Mais avouez que pour taper 9 septembre 2009, il est très rapide de ne saisir que les 9, 9/9/9.
Je précise que lorsque je saisis directement sur Excel, je ne rencontre aucun problème.
Si quelqu'un a une idée, je suis preneur.
Merci d'avance.
Geoffrey.


Le code:

Flag2:
FDatEn = InputBox("Date d'Encaissement - jj/mm/aaaa", "Actualiser un Paiement")

If StrPtr(FDatEn) = 0 Then
GoTo FlagAnnul
End If

If Not IsDate(FDatEn) Then
FRep = MsgBox("L'encaissement a-t-il été effectué?", vbYesNo, "Actualiser un Paiement")
If FRep = vbYes Then
GoTo Flag2
End If
End If

CasePaiement.Offset(0, 1).Value = FDatEn
CasePaiement.Offset(0, 1).NumberFormat = "mm/dd/yyyy"
A voir également:

3 réponses

Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
10 juin 2009 à 13:52
Bonjour,

je te conseille cette démarche.
1) utilise une variable en date
2) utilise la fonction Format
3) quand tu écris dans une cellule utilise aussi le bon format.
En espérant avoir répondu à la question
un exemple

Sub test_date()
Dim La_Date As Date ' la variable

La_Date = Format(InputBox("Saisir comme ex : 01/05/2009", "Saisie de la date", ""), "dd/mm/yyyy")

Range("A1").Value = La_Date 'écriture dans la cellule

End Sub
2
Niquel, cela ne pouvait pas fonctionner mieux!
Merci beaucoup.

(ps:première fois que je post, il faut valider la réponse ou quelque chose comme ça n'est ce pas? si oui comment?)
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
12 juin 2009 à 11:59
bonjour,

content que ça marche ...mais pas surpris. : )

pour mettre le post en résolu
sur le premier post il y a des icones en haut à droite de l'entête
tu trouveras l'icones résolu.

Sinon bonne journée.
R
0