Remplacer des caractères dans un textbox

Résolu
anto37_44 Messages postés 48 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 11 juin 2007 - 24 mai 2007 à 16:40
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 - 25 mai 2007 à 12:14
salut à tous
J'ai encore besoin de vos lumières

En arrivant dans l'entreprise où je fais mon stage, il y avait un programme où quand je cliquais sur le textbox il s'affichait "__:__" et quand je taper un chiffre (par exemple) le premier _ se remplacer par ce chiffre (exemple: je tapais 1 et j'avais "1_:__") etc.
au final, si je tapais 1234 j'avais "12:34".
Malheureusement, je n'avais que l'executable et pas le code.

J'amerais savoir si quelqu'un a une idée du code qui a put servir pour arriver à faire çà; car çà fait un moment que je suis dessus et que je n'y arrive pas.

Merci d'avance à tous

PS: j'ai bien trouver sur vbfrance des sources qui remplace des caractères dans un textbox mais çà ne fait pas exactement ce que je voudrais.
anto37_44

14 réponses

cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
25 mai 2007 à 11:44
Tu dois avoir une propriétés (voir fenetre de propriétés) qui s'appelle Mask ou quelque chose comme ca.

Et tu y mets "99:99" ou ce que tu veux
3
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
25 mai 2007 à 12:14
bon bah c'est cool,

Pour cloturer tes sujets, n'oublie d'accepter les reponses qui ton aidé car les gens viendrons pour rien apres.
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
24 mai 2007 à 18:40
Salut,

regarde dans les contrôles supplémentaires, ce qu'est le MaskeditBox

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~

( Nouveau forum : Exclusivement Office & VBA )
..................................................................
<hr size="2" width="100%" />
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
24 mai 2007 à 18:45
Salut,

Autre solution, tu places sur ta feuille un textbox, en propriété texte tu mets __:__
Et tu essayes...

Private Sub Text1_KeyPress(KeyAscii As Integer)


Text1.Text = Replace(Text1.Text, "_", Chr(KeyAscii), 1, 1)


End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0

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

Posez votre question
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
24 mai 2007 à 18:54
Salut,

Allez...Soyons Gaga !!!!

Private Sub Text1_KeyPress(KeyAscii As Integer)


Static Mlenght As Integer


If Not Text1.MaxLength = Mlenght Then
   Text1.Text = Replace(Text1.Text, "_", Chr(KeyAscii), 1, 1)
   Mlenght = Mlenght + 1
Else
   Text1.Text = "__:__"
   Text1.SelStart = 0
   Mlenght = 0
End If


End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
25 mai 2007 à 08:59
Oula, Exploreur, la tu réinvente la roue, t'es gaga, LOL. Alors, bien sur, ca marcherait dans l'absolue mais placer un controle MaskedBox et mettre dans propriété Mask  "99:99"   me semble quand meme plus simple pour notre ami.

Je conseille a anto37_44, d'aller voir dans l'aide (F1), les constantes de masques pour que ses masques de saises correspondent bien à ce qu'il veut.

Ex:

"99:99" aura un comportement différent de "00:00"

A+
0
anto37_44 Messages postés 48 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 11 juin 2007 1
25 mai 2007 à 09:13
Salut à toi Explorer

La premiere méthode fonctionne presque: le problème, c'est que les caractères que je tape s'affiche en début de ligne
exemple, si je tape 1 2 3 4, çà me donne 123412:34 donc y a un truc qui va pas et je ne trouve pas quoi.

Quant à la deuxième méthode, le caractère que je tape ne remplace pas un des  _ mais remplace le caractère que je viens de taper:

j'ai __:__, je tape 1, j'ai 1__:__, je tape ensuite 2, j'ai 2__:__ etc.


Si t'as une autre idée, elle est la bienvenue, en attendant, je vais essayer d'arranger ta première méthode car elle me plait pas mal.


Merci beaucoup


A+


anto37_44
0
anto37_44 Messages postés 48 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 11 juin 2007 1
25 mai 2007 à 09:17
Merci Nicko11 je vais fouiller de ce côté là aussi.

anto37_44
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
25 mai 2007 à 09:22
Bonjour,

Va pour le maskedit, mais il va quand-même falloir gérer la saisie ...


(sans quoi ===>> 25:69 passera à l'aise)

et.... penser à l'arrivée de Vista (qui, je crois, vient sans le msmask32.ocx)
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
25 mai 2007 à 09:54
C'est vrai que j'ai pas penser que ca pourrait etre une date (pourtant ca parait évident mais on sait jamais).

VB6 forever (oui JMF VB5 aussi , lol)
0
anto37_44 Messages postés 48 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 11 juin 2007 1
25 mai 2007 à 10:56
Est ce que vous pourriez m'expliquer comment çà marche maskedit parce que en fait sur mon PC au travail l'aide n'a pas été installé pour gagner de la place sur le disque dur qui n'est pas bien volumineu. 
merci
anto37_44
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
25 mai 2007 à 11:04
Une copie de l'aide

Caractère |Description |----
0, Chiffre (0 à 9, entrée obligatoire, signes plus (+) et moins (-) non acceptés)., ----
9, Chiffre ou espace (entrée facultative, signes plus et moins non acceptés)., ----
#, Chiffre ou espace (entrée facultative, positions vierges converties en espaces en mode édition, mais les espaces sont effacés lors de la sauvegarde des données, signes plus et moins acceptés)., ----
L, Lettre (A à Z, entrée obligatoire)., ----
?, Lettre (A à Z, entrée facultative)., ----
A, Lettre ou chiffre (entrée obligatoire)., ----
a, Lettre ou chiffre (entrée facultative)., ----
&, Caractère quelconque ou espace (entrée obligatoire)., ----
C, Caractère quelconque ou espace (entrée facultative)., ----
. , : ; - /, Séparateurs de décimales, de milliers, de date et d'heure (le caractère effectivement utilisé dépend des paramètres de la boîte de dialogue Propriétés pour Paramètres régionaux du Panneau de configuration Windows)., ----
<, Convertit tous les caractères en minuscules., ----
>, Convertit tous les caractères en majuscules., ----
!, Permet un remplissage du masque de saisie à partir de la droite et non de gauche à droite, lorsque les caractères situés à gauche du masque de saisie sont facultatifs. Les caractères tapés dans le masque le remplissent toujours de la gauche vers la droite. Le point d'exclamation peut être placé n'importe où dans le masque de saisie., ----
\, Affiche le caractère qui suit sous sa forme ASCII littérale (par exemple, \A s'affiche sous la forme A).
0
anto37_44 Messages postés 48 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 11 juin 2007 1
25 mai 2007 à 11:34
Je voudrais pas avoir l'air lourd, mais je ne vois pas comment je peux rentrer ces valeurs dans le MaskEdBox

anto37_44
0
anto37_44 Messages postés 48 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 11 juin 2007 1
25 mai 2007 à 12:04
OK merci beaucoup
bon week end

anto37_44
0