-
Problème de date
Bonjour et merci de votre attention,
Mon problème est assez simple à expliquer, en espérant que la réponse soit également simple, voici la ligne de code qui nous intéresse :
Code:
Sheets("Données V2").Range("A23") = TextBox_jours.Value & "/" & TextBox_mois.Value & "/" & TextBox_années.Value & " " & TextBox_heures.Value & ":" & TextBox_minutes.Value
Donc pour expliquer assez rapidement l'utilisateur du fichier entre la date dans un userform avec 5 textbox (Jour, mois, années, heures et minutes)
Cette ligne de code renvoie donc la date dans une cellule (A23) selon le format francais : jj/mm/aaaa hh:mm
Le problème est le suivant, si le jour est inférieur à 12 le jour et la date vont être inversé.
Par exemple si je rentre le 17/04/2014 à 9h17 dans l'userform, j'obtient le bon résultat,
mais si je rentre le 02/04/2014 à 9h17, alors j'obtiens dans la cellule le 04/02/2014 à 09h17.
Ce qui me semble totalement aberrant étant donné que j'oblige le résultat à être sous la forme jj/mm/aaaa dans la ligne de code précédente.
J'ai été regarder le format de la cellule sous excel est c'est bien le format jj/mm/aaaa et non le format anglais.
Je ne comprends absolument pas d'ou peut venir le problème et ne vois pas de solution à part peut être ajouter une condition si le jour est inférieur ou égale à 12 pour peut être obtenir le résultat désiré.
Merci de m'avoir lu.
Cordialement
-
Bonjour,
Il faut formatter la chaîne de caractère au format date.
Code:
Sheets("Données V2").Range("A23") = Format(TextBox_jours.Value & "/" & TextBox_mois.Value & "/" & TextBox_années.Value & " " & TextBox_heures.Value & ":" & TextBox_minutes.Value, "MM/DD/YYYY hh:mm")
Ca marche chez moi.
Cordialement.
-
Ca marche aussi pour moi,
merci en plus ça à résolu un autre problème parce que si je mettait 09:02 ça affichait 9:2...
Merci encore et bonne fin de journée