Module de classe et évenement Textbox_Exit !

GeoTrouvePas

XLDnaute Impliqué
Bonsoir tout le monde !

Dites moi pas que c'est vrai ! Voilà des jours que je potasse les modules de classe, j'ai enfin réussi à me faire un exemple compréhensible, je commence à créer les différents modules de classe dont je vais avoir besoin dans mon appli et... qu'est ce que je vois ? L'évenement Exit n'existe pas dans les modules de classe pour les Textbox !!!

Ai - je révé ?
L'apprentissage des modules de classe a - t - il fatigué mon tout petit cerveau au point d'en avoir des hallucinations ?
Existe - t - il un moyen de contourner cette limite ? de créer cet évenement ?
Y - a - t - il un Dieu pour ceux qui on fait l'énorme effort de comprendre les modules de classe ?

Par pitié, éclairez ma lanterne de pauvre pêcheur désespéré par tant d'efforts inutiles. :p

Bonne fin de journée tout le monde !
 

néné06

XLDnaute Accro
Re : Module de classe et évenement Textbox_Exit !

bonsoir GeoTrouvepas.

Un module ne contient pas d'objets!
Ton TextBox et bien dans un USF ?
Par curiosité ,peux tu nous envoyer une petite pièce jointe.
A défaut ,je peux suggérer l'aspirine!

Cordialement
 

GeoTrouvePas

XLDnaute Impliqué
Re : Module de classe et évenement Textbox_Exit !

Merci à tous les trois pour vos réponses !

@néné06 : Je parle de module de classe, pas de module classique.
@tototiti : merci j'ai déjà tenté de lire ce lien mais à part les IF, DO et autres, je comprends quedal à l'anglais ^^
@laetitia : mon problème est tout bête. L'utilisateur doit saisir un mot de passe. Je veux juste qu'il ne puisse pas sortir du textbox s'il n'a pas saisi entre 5 et 15 caractères. Mais ce n'est qu'un des cas où je veux m'en servir. Au final, ça sera pour faire des contrôles de saisie "classiques" dans mon application. Je me sers de l’évènement Keypress pour contrôler les caractères saisis, et de l'évenement Exit pour contrôler le nombre de caractère saisis avant de sortir d'un champ.

Je me suis mis au module de classe car j'ai plus de 600 contrôles au total dans mon application.

Voici un exemple comme demandé.
 

Pièces jointes

  • Exemple Module de Classe.xls
    46 KB · Affichages: 109

klin89

XLDnaute Accro
Re : Module de classe et évenement Textbox_Exit !

Bonsoir à tous,

En complément du lien indiqué par tototiti2008, vois ceci et la réponse de MichelXld :

https://www.excel-downloads.com/thr...extbox-passer-par-un-module-de-classe.107825/

Sinon, dans Google il peut être judicieux de faire une recherche avec les termes traduits en anglais.

Exemple :
class module = module de classe
exit events = événement exit

Sur les liens trouvés, tu cliques sur "Traduire la page"

Klin89
 
Dernière édition:

GeoTrouvePas

XLDnaute Impliqué
Re : Module de classe et évenement Textbox_Exit !

Désolé néné06 j'avais mal compris tes propos. J'ai encore du mal à comprendre quelle différence existe entre un évenement Exit et un évenement Keypress et qui fait que l'un peut être utilisé dans un module de classe mais pas l'autre.

Heureusement klin89 a dégoté une solution qui m'a l'air vraiment pas mal. Je l'avais vu sur M. Excel mais j'avoue que l'anglais m'avait un peu rebuté. Merci beaucoup à toi Klin, il me reste encore à comprendre ce code et à essayé de le combiner avec l'existant.
 

néné06

XLDnaute Accro
Re : Module de classe et évenement Textbox_Exit !

Bonsoir GéoTrouvePas et le fil

Je te donne, succinctement les ordres de passage des évènements, que tu dois peut-être connaître, dans un contrôle comme "textbox".
MouseMove
Enter
""
Drop Buttonclick
""
keydown
keypress
Change
keyup
"
"
Exit


L'évènement Exit n'existe pas,mais de toutes façons, c'est le dernier à être exécuté donc tu peux "gruger"
soit sur la fin de la procédure change ou Keyup.

A+
 

klin89

XLDnaute Accro
Re : Module de classe et évenement Textbox_Exit !

Bonsoir GeoTrouvePas

Tu dis :

Je me sers de l’évènement Keypress pour contrôler les caractères saisis, et de l'évenement Exit pour contrôler le nombre de caractère saisis avant de sortir d'un champ.

Tu peux contrôler ta saisie sur le seul événement Keypress : les caractères et leur nombre.

Exemple trouvé sur le forum :
Code:
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("0123456789.", Chr(KeyAscii)) = 0 Then KeyAscii = 0: Exit Sub 'utiliser seulement les chiffres et le point
    If InStr(1, TextBox2.Value, ".") <> 0 Then 'seulement 2 décimales après le point
        If Len(TextBox2.Value) > InStr(1, TextBox2.Value, ".") + 1 Then KeyAscii = 0
    End If
End Sub
Ici, on n'entre que des chiffres et on limite le nombre de décimales à 2.

Pour ne pas dépasser 15 caractères :
Code:
If Len(TextBox2) = 15 Then KeyAscii = 0

Klin89
 
Dernière édition:

néné06

XLDnaute Accro
Re : Module de classe et évenement Textbox_Exit !

Bonsoir le fil

une ébauche avec "Keydown" , qui permet par :
"If keycode = 13 then keycode = 0" ,de ne pas valider si condition fausse, par la touche "return".
il restera à gérer le pointeur souris pour qu'il ne se déplace pas.

néné06
 

GeoTrouvePas

XLDnaute Impliqué
Re : Module de classe et évenement Textbox_Exit !

L'évènement Exit n'existe pas,mais de toutes façons, c'est le dernier à être exécuté donc tu peux "gruger"
soit sur la fin de la procédure change ou Keyup.

Oui je peux éventuellement gruger en empéchant la frappe si il y a déjà 15 caractères mais je ne peux pas utiliser cette méthode pour empécher la sortie si il y a moins de 5 caractères.
 

GeoTrouvePas

XLDnaute Impliqué
Re : Module de classe et évenement Textbox_Exit !

En tout cas merci à tous pour votre aide. Je ne comprends toujours pas pourquoi l'évenement Exit n'existe pas dans les modules de classes mais un début de solution apparaît avec le fil proposé par Klin.

J'ai bien noté la possibilité de contourner en utilisant d'autres évenements mais je ne pourrais pas le faire dans tous les cas. J'ai plus de 600 contrôles et je dois avoir au moins une dizaine de modules de classe à créer pour gérer :
- des noms au format "majuscule"
- des prénoms au format "nom propre"
- des numéros de sécu
- des sommes au format monétaire avec séparation des décimales
- des codes postaux
- des dates
etc...

Les différents contrôles de saisie vont être très variés car je vais devoir gérer :
- un nombre maximal et / ou minimal de caractères
- la possibilité de saisir tel ou tel caractère
- la mise en forme automatique à tel ou tel format
- le contrôle de cohérence entre plusieurs contrôles (genre deux dates à saisir dans 2 textbox et qui doivent obligatoirement respecter un ordre chronologique)
etc.......

Bref tout cela va être très varié et je doute fortement que ces multiples contrôles puissent être faits sans avoir à me servir obligatoirement, un jour ou l'autre, de ce fameux évenement Exit.
 

klin89

XLDnaute Accro
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 445
Messages
2 088 486
Membres
103 867
dernier inscrit
nykostinson