Je viens vous demander votre aide sur un fichier que j'ai récupéré sur le site et adapté à mes besoins. J'ai un problème de format de date . J'utilise un calendrier pour insérer une date dans un textbox. Lorsque je valide mes données, la date s'inscrit au format 05/02/2011 à la place de 02/05/2011. Je n'arrive à trouver la solution. J'ai essayé le format "Cdate" pour le textBox "la_Date" cela ne change rien. Je vous remercie pour l'aide que vous pourriez m'apporter.
Pas top ton fichier... je n'ai même pas trouvé la ligne en cause... bon, pas cherché beaucoup.... Regarde peut être ce que proposait Philippe hier soir à 20h09 ... A mon avis, plutôt que d'essayé de modifier un fichier existant, il est peut être préférable de partir d'un fichier tout neuf, et de n'utiliser que les codes qui sont compris, ce qui est à mon sens la meilleure façon de progresser...
Bonjour à tous , nombreux..., le fil, le forum,
Ayant été confronté à ce type de problème, je propose de sortir l'artillerie lourde, tout en restant simple.
VB:
Private Sub CmdOK_Click()
Dim TmpDat As Date
TmpDat = Format(CDate(Calendar1.Value), "dd/mm/yyyy")
creation.La_Date = TmpDat
Unload Me
creation.La_Date.SetFocus
End Sub
Bonjour à tous , nombreux..., le fil, le forum,
Ayant été confronté à ce type de problème, je propose de sortir l'artillerie lourde, tout en restant simple.
VB:
Private Sub CmdOK_Click()
Dim TmpDat As Date
TmpDat = Format(CDate(Calendar1.Value), "dd/mm/yyyy")
creation.La_Date = TmpDat
Unload Me
creation.La_Date.SetFocus
End Sub
Re, Bonjour Pierrot,
Je me suis mal exprimé, mon idée n'est pas
TmpDat = Format(CDate(Calendar1.Value), "dd/mm/yyyy")
Mais de passer par une variable Date . Dim TmpDat AsDate
Cordialement
EDIT Problème de balises.... EDIT2 [ ] Effectivement MJ13 à déja fait la proposition "AsDate" dans un exemple (que je n'avais pas ouvert). Qu'il ne m'en tienne pas rigueure [\ ]
Je viens de tester le code de Efgé, j'ai placé en déclaration "Dim TmpDat As Date" puis le code
Private Sub CmdOK_Click()
TmpDat = Format(CDate(Calendar1.Value), "mm/dd/yyyy") avec l'inversion "mm/dd/" dans le code cela fonctionne.
C'est une solution que j'ai déjà utilisée. J'ai parcouru le site concernant ce problème et, il semble que la solution n'existe pas. (référence au "excelliens" qui se sont déjà penchés sur le problème)
Le problème persiste avec l'inversion de date pour les 12 premiers jours, pourquoi les 12 premiers jours? un problème avec le nombre de mois puisque à partir de la date 13 tous les codes fonctionnent pour le calendrier.
Je remercie toutes les personnes qui apportent leur collaboration, je suis très touché par votre réactivité et la peine que vous vous donnez pour apporter une solution.
Je remercie les créateurs de ce site participatif et les assure de mon soutien indéfectible, la solidarité existe encore et j'en suis particulièrement sensible
Re, Bonjour bobmusique,
Je n'ai peut être pas compris votre dernier post mais, si vous utilisez "TmpDat As Date" il faut le mettre après votre "Private Sub CmdOK_Click()"
ensuite il faut utiliser
TmpDat = Format(CDate(Calendar1.Value), "dd/mm/yyyy").
Comme ça :
PrivateSub CmdOK_Click() Dim TmpDat AsDate TmpDat = Format(CDate(Calendar1.Value), "dd/mm/yyyy") creation.La_Date = TmpDat Unload Me creation.La_Date.SetFocus EndSub
J'ai bien utilisé le code comme vous l'indiquez, le problème reste le même
Je suis tatillon, cela est mon défaut car je pourrais me satisfaire de "mm/dd/yyyy" mais ce qui me gêne est de voir dans la "textbox" la date s'inscrire "mois/jour/année", je ne suis pas obsessionnel, mais bon, c'est dans ma nature de faire aboutir un projet, je suis à la limite perfectionniste. En musique une erreur d'écriture dièse ou bémol ou toute autre altération cela ne se voit pas toujours à l'écriture mais s'entend à l'interprétation.
Bonjour bobmusique,
bonjour à tous,
Comme promis hier matin, je reviens jeter un coup d'oeil, et je vois que la relève est assurée.
Je ne vois pas de plus value à apporter pour l'instant.
Bonne continuation
Re,
Une dernière idée. Traiter le format en amont ,tout en conservant la dernière version du "PrivateSub CmdOK_Click()"
VB:
Private Sub Calendar1_Click()
Dim ValMin As Integer '?
Dim ValSup As Integer '?
Dim GoOverC As Integer '?
Dim GoOverWE As Integer '?
Dim GoOverF As Integer '?
Dim TmpDtCal As Date
TmpDtCal = Format(CDate(Calendar1.Value), "dd/mm/yyyy")
txtDate1.Value = TmpDtCal
TextNsm.Value = Format(TmpDtCal, "mm")
TextNrt.Value = Format(TmpDtCal, "Q")
TextSem.Value = Format(TmpDtCal, "sm")
End Sub
J'ai testé la dernière mouture vba aucun effet, le problème reste le même.
à Pierrot 93
J'ai vérifié les paramètres régionaux, ils sont bien configurés.
Je n'aurai jamais pensé qu' autant de personnes puissent s'intéresser à ce problème. Il est étonnant de ne pas découvrir la faille, je ne voudrais pas que cela devienne pour vous une "contrainte". Je vous en serez reconnaissant même s'il le le problème ne trouve de résolution.