Remplacer des caractères dans un textbox [Résolu]

Signaler
Messages postés
48
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
-
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
-
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

Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
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
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
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.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
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%" />
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
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


 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
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


 
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
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+
Messages postés
48
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
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
Messages postés
48
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
Merci Nicko11 je vais fouiller de ce côté là aussi.

anto37_44
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
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)
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
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)
Messages postés
48
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
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
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
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).
Messages postés
48
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
Je voudrais pas avoir l'air lourd, mais je ne vois pas comment je peux rentrer ces valeurs dans le MaskEdBox

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

anto37_44