cs_osok
Messages postés35Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention18 mai 2005
-
14 avril 2005 à 10:51
cs_osok
Messages postés35Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention18 mai 2005
-
14 avril 2005 à 17:15
En fait j'ai plusieurs textbox qui doivent contenir des heures et des dates.
Mais je ne sais pas comment faire pour que la valeur de la textbox soit au format date ou heure.
Par exemple, je voudrais que s'il entre 1200 (donc 12h) ca lui mette automatiquement 12:00 ds la textbox pour que je puisse traiter ca (pareil pour les dates du genre01/01/01).
Et après je voudrais comparer les dates et heures, ca marchent avec juste un if ou il faut faire une comparaison speciale dû au format.
cs_osok
Messages postés35Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention18 mai 2005 14 avril 2005 à 14:49
Apres recherche je vois qu'il faut installer un ocx pour pouvoir utiliser les maskeditbox. Et comme mon programme sera utiliser sur plusieurs machines différentes (dont je n'ai pas accès) il faudra que je fasse un script pour installer l'ocx et c'est galere.
J'ai trouvé une solution qui me conviendrait:
Je fais TextBox1.Value = Format(TextBox1.Value, "dd/mm/yyyy") (en indiquant à l'utilisateur d'entrer des dates sous le format jjmmyyyy) je fais des test avant pour voir si c'est bien le format date (genre s'il rentre 20 chiffres).
Mais je voudrais faire ca quand l'utilisateur a fini (donc lostfocus) mais apparement vba ne le gere pas. Quelqu'un sait comment faire pour que je puisse declancher cette conversion au lostfocus?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_osok
Messages postés35Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention18 mai 2005 14 avril 2005 à 15:06
Pour contourner le probleme de lostfocus j'ai tester ds _Change si la longueur était de 6 puis si c'est le cas hop conversion.
Par contre maintenant j'ai encore un probleme ds la conversion (et oui encore lol).
j'utilise cette syntaxe: TxtDateDeb.Value = Format(TxtDateDeb.Value, "dd/mm/yyyy")
Quand je rentre 140405 par exemple il me le converti en 30/05/2284 (au lieu de 14/04/05).
Apres je me suis dit que les anglais avait pas le meme format de date que nous: je rentre 010101 et il me met 27/08/1927 (au lieu de 01/01/01 1er janvier 2001).
Donc je sais pas du tout quel est le delire du format mais ca me pose des problemes lol.
Merci à ceux qui seront m'aider (et à ceux qui meme s'ils ne m'aident pas essaye tout de meme )