!!! format date dans un UF !!!

  • Initiateur de la discussion fabrice
  • Date de début
F

fabrice

Guest
bonjour le forum,

Voila mon petit probleme,

G un UF avec en textbox1 une date à saisir. g tapé le code suuivant mais le probleme est que qd je mets la valeure du textbox1 dans ma feuille XL, il me la reconnait pas comme une date!!!!!!! :=(

Comment faire pour qu'il sache qu'il s'agit d'une date???


Code tapé:
Private Sub TextBox1_Change()
Dim fab As String
fab = TextBox1.Text
Select Case Len(fab)
Case 2, 5
fab = fab & "/"
End Select
TextBox1.Text = fab
End Sub

Merci de votre réponse,
FAb
 
H

herve

Guest
bonjour,

essaye de rajouter la macro de sortie ci dessous.
il me semble que cela permet de transformer le contenu de ton textbox au format date reconnu par excel. (enfin je crois)


Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
fab = TextBox1.Text
fab = Format(fab, "dd/mm/yyyy")
TextBox1.Text = fab
End Sub

esperant ne pas dire trop de betise,
@+Hervé
 
F

fabrice

Guest
Salut Hervé,

Merci BCQ, tu viens de m'enlever une epine de la patte!!!

Juste, si g bien compris, je pourrai remplacer dd/mm/yyyy par hh-mm si je veux avoir des heures et des min!!!

Merci encore,
FAb
 
O

omicron

Guest
Bonjour Fabrice,

Pour vérifier si la valeur sais dans textbox1 est bien une date (Quelque soit son format de saisie) il suffit d'utiliser la fonctions isdate(textbox1).

Tu trouveras en annexe un petit exemple qui capture l'évènement change de textbox1, vérifie en continu, si la valeur saisie est bien une date et active ou désactive le bouton mise à jour de la feuille Excel en conséquence.

NB: Tu peux conjointement utiliser la fonction cdate si tu souhaites qu'une date partiellement rentrée (Ex: Jour/Mois) soit transmise dans son intégralité (Jour/mois/année) à Excel au cas ou ce dernier utilise un format d'affichage faisant intervenir l'année. L'année intégrée alors par defaut sera l'année courante.

Cordialement.

Omicron.
 

Pièces jointes

  • Date.zip
    8.9 KB · Affichages: 45
  • Date.zip
    8.9 KB · Affichages: 35
  • Date.zip
    8.9 KB · Affichages: 40
D

Delphine

Guest
Attention avec l'utilisation de isdate:

si tu renseignes 12/24/2004, isdate te repondra Vrai car il considere 12 comme le mois et 24 comme le jour
de meme si tu renseignes 24/12/2004, isdate te repondra Vrai

J'ai eu le meme pb dans un UF, j'ai fait une petite macro qui te renvoie vrai si la date saisie est une date au format ('JJ/MM/SSAA')

Function Test_Date(Valeur) As Boolean

If IsDate(Valeur) Then
Val1 = Format(Valeur, "DD/MM/YYYY")
If Val1 <> Valeur Then
DateOK = False
Else
DateOK = True
End If
Else
DateOK = False
End If
Test_Date = DateOK
End Function

Cordialement,
Delphine
 

Discussions similaires

Statistiques des forums

Discussions
312 352
Messages
2 087 531
Membres
103 578
dernier inscrit
jd709