Format txtbox

  • Initiateur de la discussion Yanne
  • Date de début
Y

Yanne

Guest
Hello à tous le monde

Voici mon petit problème : j'aimerais mettre un format heure à un txtbox dans un formulaire mais je vois que la propriété format n'existe pas pour les txtbox. Comment pouvoir passer au-dessus de ce problème ?


Un tout grand merci à tous ceux qui pourront m'aider

Yanne
 
@

@+Thierry

Guest
Bonsoir Yanne, le Forum

Voici une méthode pour avoir l'heure de lancement du UserForm dans une TextBox1 :

Private Sub UserForm_Initialize()
Dim TheTime As Date
TheTime = Now

TextBox1 = Format(TheTime, "HH:MM:SS")
End Sub

Maintenant pour Saisir en Format Heure dans une TextBox voici une Astuce adaptée de Ti pour les Dates...(Nécessite un CommandButton1)

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim TheString As String

TheString = TextBox1

Select Case Len(TheString)
Case 2: TextBox1 = TheString & ":"
Case 5: TextBox1 = TheString & ":"
Case 8: CommandButton1.SetFocus 'pour avoir le Focus sur un autre ActiveX
End Select
End Sub

Bonne Soirée
@+Thierry
 
@

@+Thierry

Guest
Re: Format textbox pour HEURE

Bonsoir Yanne, le Forum, Lien supprimé

J'ai reçcu un message en BAL de Yanne :

____________________________________________________________
-----Message d'origine-----
De : Yanne
Envoyé : jeudi 3 juin 2004 18:52
À : @+Thierry
Objet : Réf. : Re: Format txtbox [1:93060:93063]

merci thierry

seulement je ne comprend pas bien les case utilisés. Le premier ça va mais après je comprend plus

Yanne

____________________________________________________________

Donc comme il paraît qu'il y a lacune de pour une démarche éducative, je vais t'expliquer Yanne...

Ici c'est une Forum de Partage de Connaissance, un Forum où quand tu poses ta Question, quelqu'un cherche une réponse pour toi. Parfois il faut que l'on s'y mette à plusieurs, parfois on a diverses solutions, toutes bonnes, parfois on en a des moins bonnes et des meilleures, et on en discute dans le Forum mais sutout pas en BAL (Emails si tu te demandes ce qu'est une BAL).

Pourquoi.....

Et bien parceque c'est un partage de connaissance, ce que je peux te donner comme réponse peut être utilisé par des centaines de gens qui cherchent la même solution au même problème que toi, et la force d'Internet, c'est que peut être je ne serai plus de ce monde, ni toi, ni d'autres, mais ce que nous avons écrit reste et restera longtemps en domaine Publique et Gratuit ouvert à tous et toutes.

Voilà !

Donc si tu veux répondre à ce message tu click sur ce lien :
http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=93063&t=93060

Et pas sur le bouton "Répondre" de ta messagerie.

Donc maintenant j'en viens à ta question :

Un Select Case permet de "Sélectionner des Cas" jusque là c'est simple.

Quand j'écris :
Select Case Len(TextBox1)

Je veux dire que le "Cas" est le Nombre de Caractère Contenu dans la TextBox... (Len compte le nombre de Digits)

Jusque là c'est simple ou tu m'interromps si tu veux ?

.... Pas d'interruption, donc c'est OK !

Quand j'écris :
Case 2: TextBox1 = TextBox1 = TextBox1 & ":"

Je veux dire que si le "Cas" est égale à 2 alors j'ai Deux Chiffres dans la TextBox et je veux que la TextBox = la TextBox + ":" à la fin ......

Et ainsi de suite....

Là où tu dois être perdue c'est que je passe par une Variable "TheString" de type String (à ton avis pourquoi elle se nomme "TheString" lol) et donc ça te parait plus compliqué mais c'est pareil sauf que c'est plus simple à écrire et à lire...... De plus au lieu que ce soit implicitement calculé au moment de la Compilation, c'est clairement écrit.

Donc quand j'écris :
Case 2: TextBox1 = TheString & ":"

C'est pareil que :
Case 2: TextBox1 = TextBox1 = TextBox1 & ":"

Bien entendu au préalable j'ai déclaré la variable
Dim TheString As String

Et ensuite j'ai initialisé cette variable
TheString = TextBox1

Voilà pour les explications du Select Case....



Maintenant pour que ce code fonctionne il lui faut un évènement qui est celui-ci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

C'est l'évènement ideal, car il inter-agit pendant que tu tapes ....

Une petite démo maintenant que tu as tout compris :



Outils Nécessaires :

Dans un Classeur Vierge :
1 UserForm
Dans Ce UserForm
1 TextBox nommée "TextBox1"
1 Command Button Nommé "CommandButton1"

Dans le Private Module de Ce UserForm tu mets ce Code :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim TheString As String

TheString = TextBox1

Select Case Len(TheString)
Case 2: TextBox1 = TheString & ":"
Case 5: TextBox1 = TheString & ":"
Case 8: CommandButton1.SetFocus 'pour avoir le Focus sur un autre ActiveX
End Select
End Sub


Tu lances ce UserForm.... Tu saisis 2 Chiffres..... Que ce Passe-t'il ?
Et oui les deux ":" s"écrivent tout seuls!...... Encore 2 Chiffres ..... et Hop... Encore 2 et on est sorti de la TextBox....

Et Voilà !!!
Bon Allez Je Te Laisse j'ai Matrix Revolution à Regarder !!! (mais n'hésite pas à revenir dans le Forum si tu as un Problème)

Bonne Nuit à Tous et Toutes !!!
@+Thierry
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2