Saise de date au format Francais (VBA)

Geoman -  
Bidouilleu_R Messages postés 1209 Statut Membre -
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"
Configuration: Windows XP
Firefox 3.5

3 réponses

  1. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    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
  2. Geoman
     
    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
  3. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    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