Textbox contenant une date ou heure

cs_osok Messages postés 35 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 18 mai 2005 - 14 avril 2005 à 10:51
cs_osok Messages postés 35 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 18 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.

Voila merci beaucoup

6 réponses

cs_osok Messages postés 35 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 18 mai 2005
14 avril 2005 à 11:17
Et encore une petite question: quelle est la syntaxe vba pour ajouter une ligne à une feuille excel?
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
14 avril 2005 à 13:50
Pour insérer une ligne, dans l'exemple après la ligne 3

Sub InsereLigne()
Rows("3:3").Select
Selection.Insert Shift:=xlDown
End Sub

En ce qui concerne le format de date, utilise le control MaskEditBox, lui est prévu pour cela.
Le TextBox ,a pas de propriété pour gérer cela.

jpleroisse
0
cs_osok Messages postés 35 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 18 mai 2005
14 avril 2005 à 14:22
Heu merci mais c'est quoi un MaskEditBox (je trouve ca où pour en ajoiuter un).


Et le maskeditbox marche aussi pour les heures? Et dans la cas des dates je fais comment pour qu'il la mette ds le bon format?
0
cs_osok Messages postés 35 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 18 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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_osok Messages postés 35 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 18 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 )
0
cs_osok Messages postés 35 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 18 mai 2005
14 avril 2005 à 17:15
En fait j'ai utilisé un ocx microsoft qui gere les dates et les heures donc le probleme est reglé.
Merci
0
Rejoignez-nous