Gestion complète de textbox via module de classe

GeoTrouvePas

XLDnaute Impliqué
Bonjour tout le monde,

Au cours d'un précédent post, JNP vient de proposer d'étudier un cas qui m'intéresse particulièrement. Je n'ai donc pas voulu rater cette occasion.

Le principe : créer des modules de classe gérant entièrement les entrées / sorties / format et saisie de Textbox.

Pourquoi se servir des modules de classe ?
Car c'est tout simplement le moyen le plus simple d'effectuer ces taches dès qu'une application devient un peu conséquente.
On évite ainsi de multiplier inutilement les lignes de code.

J'ai réussi toutes ces opérations sauf les entrées / sorties qui ne sont "nativement" gérées par les modules de classe.

Une solution avait été proposée ici mais impossible de l'adapter. Je coince.

J'ai donc préparé un petit fichier exemple pour travailler plus facilement.

Pour ceux que ça intéresse, ce petit fichier est un petite "boite à outils" assez sympa pour ceux qui aiment les contrôles de saisies.

Vous y trouverez 5 formats "classiques" (Dates, nombre entier, Euros, NOM et Prénom) que j 'ai tenté de sécuriser au maximum. Le contrôle date est particulièrement élaboré et accepte pas de format de saisie différents.

Vous y trouverez également une petite fonction sympa qui permet de gérer l'affichage d'un message d'erreur dans un contrôle Label. Essayer là c'est sympa !

Vous pouvez même en profiter pour me donner votre avis sur ces contrôles et signaler éventuellement les erreurs.

Merci à vous tous de votre collaboration.
 

Pièces jointes

  • Contrôles de saisie.xls
    83 KB · Affichages: 261
  • Contrôles de saisie.xls
    83 KB · Affichages: 244
  • Contrôles de saisie.xls
    83 KB · Affichages: 250

GeoTrouvePas

XLDnaute Impliqué
Re : Gestion complète de textbox via module de classe

Quand j'aurai enfin fini mes projets en cours et que je pourrais fournir quelque chose d'honorable.
Tu as déjà un large aperçu de ces modules dans le fichier joint dans le premier message.

J'aimerai grandement avoir ton avis là dessus.
 

GeoTrouvePas

XLDnaute Impliqué
Re : Gestion complète de textbox via module de classe

Je viens d'aller voir ta PJ

Merci ! ça fait plaisir !

Pourquoi y-a t'il deux fonctions de suppression des accents?

Yen a une qui ne supprime que les majuscules accentuées. Les minuscules avec accent ne sont pas modifiées.

Pourquoi ne pas faire qu'un seul module de classe pour les TextBox ?

Parce que je progresse ^^
J'ai commencé à tout gérer via les évènements "classiques". Puis je me suis intéressé aux modules de classe. Puis aux tag....
Je voudrais arriver à minimiser le nombre d'objets à importer et la quantité de code à placer.
C'est aussi pour ça que je ne l'ai diffuser. j'attends d'avoir qqchose d'un peu plus mure et plus abouti.
 

laetitia90

XLDnaute Barbatruc
Re : Gestion complète de textbox via module de classe

bonjour tous :):)
un exemple avec une seule class
j'ai rien coder... a toi de "bosser" & simplifier ton code;);)
 

Pièces jointes

  • Class2.zip
    20.2 KB · Affichages: 133
  • Class2.zip
    20.2 KB · Affichages: 76
  • Class2.zip
    20.2 KB · Affichages: 87

GeoTrouvePas

XLDnaute Impliqué
Re : Gestion complète de textbox via module de classe

Et ben !
Yen a qui ont les idées claires dès le matin et qui perdent pas de temps pour se mettre au charbon :p:p:p

Merci pour ton exemple Laëtitia, ça m'a bien permis de comprendre comment fonctionne le tout et de confirmer ce que je pensais déjà.

Il me reste plus qu'à me mettre au boulot pour synthétiser le tout.

Je vous remercie tous pour votre précieuse aide !

Bon week end à tous
 

laetitia90

XLDnaute Barbatruc
Re : Gestion complète de textbox via module de classe

rebonjour tous :):)

une version un peu plus sophistiquée
comme la precédente on peut renommée les userforms en ajouter en supprimer & renommée egalement les textboxs sans pb..
par contre cette version .....

une seule class pour textbox, LostFocus & GetFocus
le changement LostFocus & GetFocus se fait au niveau du module standard & class et plus au niveau des userforms ce qui reduit enormement le code
j'ai laisser l'exemple des couleurs pour voir
attention dans la class des conditions a ne pas toucher rien empêche d'en rajouter
je cherche encore a simplifier mais assez complexe pour moi:(:(
si cela peut t'aider!!!

ps j'ai oublie un peu de code dans la class si on tapes directement avec la souris dans une box..

Code:
Private Sub txt_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
LostFocus objPre 'ne pas toucher
End Sub

merci Jean Marie:):)
 

Pièces jointes

  • Class3.zip
    22.9 KB · Affichages: 82
Dernière édition:

GeoTrouvePas

XLDnaute Impliqué
Re : Gestion complète de textbox via module de classe

Désolé Laetitia, je n'avais pas vu que tu étais revenue sur la conversation.

Va falloir que je me trouve du temps pour analyser toutes ces solutions et faire enfin une boite à outils digne de ce nom.

As tu remarqué que j'avais utilisé le système d'alerte pour lequel tu m'avais filé un coup de main ?

Les premiers utilisateurs ont beaucoup apprécié d'avoir un simple système de label pour leur annoncer leurs erreurs de saisie plutôt qu'un msgbox qu'il faut valider prendre la peine de valider. Coupler avec les modules de classe, il est extrèmement simple à implanter dans le code. il suffit de rajouter un simple
Code:
Set Alerte = Label1
à chaque ouverture d'un userform. Si plusieurs userform sont affichables en même temps, ça complique à peine plus la chose.
 

G.E

XLDnaute Nouveau
Re : Gestion complète de textbox via module de classe

Bonjour j’aurais besoin de votre ai c’est très urgent. Je vous explique mon problème :
Je suis en train d’écrire un programme qui gère certaine pièce dans une machine. Je m’explique imaginer que vous gérez un paquet de montre et que chaque montre a un numéro de série et que chaque montre est composer de particule ont chacun numéro de séries. Et que vs changez à intervalle régulier (entretient) certaine parti de votre paquet de montre ce qui nous donne :
pour un numéro de série de montre (que j’appellerais ICAM) nous avons plusieurs état soit il est dans le paquet soit il est en réparation soit il est en inventaire (utilisable ou non utilisable).
Pour le numéro de série des pièces nous avons soit inutilisable ou soit il suit le statue de l’ensemble.

- je veux pouvoir enregistrer les différente pièces dans une table Excel :
j’ai créé des user forme pour chaque pièces pour alimenter les tableaux.
-mnt je veux pouvoir changer les valeurs que j’ai dans le tableau Excel (par un userforme) : et sa je n’arrive pas a le faire.
- je veux pouvoir compte le nombre de réparation pour une montre (icam).


Disons que je crée la classe inspection (chaque fois que j’ai une inspection je dois en crée une contenant des informations dessus) et que je crée vendredi de type inspection comment l’enregistrer sur la feuilles excelle et comment générer automatiquement un tableau lors de chaque inspection

merci
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Gestion complète de textbox via module de classe

Bonjour G.E, et bienvenue sur le forum
Bonjour j’aurais besoin de votre ai c’est très urgent. Je vous explique mon problème :
Je suis en train d’écrire un programme qui gère certaine pièce dans une machine. Je m’explique imaginer que vous gérez un paquet de montre et que chaque montre a un numéro de série et que chaque montre est composer de particule ont chacun numéro de séries. Et que vs changez à intervalle régulier (entretient) certaine parti de votre paquet de montre ce qui nous donne :
pour un numéro de série de montre (que j’appellerais ICAM) nous avons plusieurs état soit il est dans le paquet soit il est en réparation soit il est en inventaire (utilisable ou non utilisable).
Pour le numéro de série des pièces nous avons soit inutilisable ou soit il suit le statue de l’ensemble.

- je veux pouvoir enregistrer les différente pièces dans une table Excel :
j’ai créé des user forme pour chaque pièces pour alimenter les tableaux.
-mnt je veux pouvoir changer les valeurs que j’ai dans le tableau Excel (par un userforme) : et sa je n’arrive pas a le faire.
- je veux pouvoir compte le nombre de réparation pour une montre (icam).


Disons que je crée la classe inspection (chaque fois que j’ai une inspection je dois en crée une contenant des informations dessus) et que je crée vendredi de type inspection comment l’enregistrer sur la feuilles excelle et comment générer automatiquement un tableau lors de chaque inspection

merci
je pense qu'il serait préférable de créer un nouveau fil de discussion afin de ne pas mélanger deux sujets différents

à+
Philippe
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2