MaskEdBox en majuscule [Résolu]

Messages postés
863
Date d'inscription
samedi 11 juin 2005
Dernière intervention
21 août 2015
- - Dernière réponse : Sinsitrus
Messages postés
863
Date d'inscription
samedi 11 juin 2005
Dernière intervention
21 août 2015
- 14 mars 2008 à 20:47
Salut !

Je cherche a mettre en majuscule le texte que je met dans mon MaskEdBox. J'ai essayé ce code là :

Private SubMaskEdBox1_Change()
MaskEdBox1 = StrConv(MaskEdBox1, vbUpperCase)
MaskEdBox1.SelStart = Len(MaskEdBox1)
End Sub

Mais il m'envoit cette erreur :

Erreur d'exécution '28':
Espace de pile insuffisant

Quelqu'un peut m'aider svp ?

Merci

----------
OS        : Windows XP SP2
Platforme : VB 6.0 + SP6

Ok VB6.0 c'est pas net !
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
Forcément, le fait d'attribuer un texte au MaskEdBox1 va déclenché l'évènement Change dans lequelle tu attribut du texte qui déclenche l'évènement dans lequel ....... Tout ça jusqu'à ce que la pile des appels déborde d'ou le message d'erreur

Soit tu n'es pas forcé dutiliser l'évènement Change, dans ce cas il te faut trouver une autre astuce avec un autre évènement comme par exemple dans l'évènement keyPress, systématiquement modifier le caractère saisie par son correspondant majuscule :

Private Sub MaskEdBox1_KeyPress(KeyAscii As Integer)

   KeyAscii = Asc(UCase(Chr(KeyAscii)))

End Sub<hr />
, ----
[code.aspx?ID=41455 By Renfield]
Soit tu es obligé d'utiliser l'évènement Change. Dans ce cas il faut que tu flagge ton code pour empecher qu'il soit réentrant (càd qu'il ne se réexecute alors qu'il est déjà en train de s'executer Ex:

Private Sub MaskEdBox1_Change()
Static flag As Boolean 'variable statique obligatoire pour conserver la valeur d'un appel à l'autre

   'Test du Flag
   If flag Then Exit Sub

   'Début du flaggage
   flag = True
   'Traitement
   MaskEdBox1 = StrConv(MaskEdBox1.Text, vbUpperCase)
   MaskEdBox1.SelStart = Len(MaskEdBox1.Text)
   'Fin du flaggage
   flag = False

End Sub
, ----
[code.aspx?ID=41455 By Renfield]
---- Sevyc64  (alias Casy) ----</italique> <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #   

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_casy
Messages postés
863
Date d'inscription
samedi 11 juin 2005
Dernière intervention
21 août 2015
0
Merci
Salut !

Puré !!!!!! Merci beaucoup Casy !
J'ai opté pour les deux dans deux cas bien différents ^^ Merci !

----------
OS        : Windows XP SP2
Platforme : VB 6.0 + SP6

Ok VB6.0 c'est pas net !
Commenter la réponse de Sinsitrus

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.