Module de classe pour textbox

Bonjour,

Me revoilà de nouveau avec mes problèmes de textbox.

Dans le fichier ci-joint j'ai 21 textbox.

Celles qui m'intéresse vont de 4 à 16.

Lorsque je saisie mes heures, celles-ci s'additionnent dans un label grâce à la macro "Calculer".

De plus s'il y a une faute de frappe j'ai une erreur.

Chaque procédure joue son rôle individuellement mais les 2 posent problème

Je viens de passer l'après midi à essayer de comprendre comment fonctionne un module de classe mais je suis échec sur échec...

Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Me.TextBox4 = "" Then Exit Sub
    If Not Me.TextBox4 Like "[0-2][0-9][:][0-5][0-9]" Or Not IsDate(Me.TextBox4) Then
        MsgBox "Heure non valide"
        Cancel = True
    End If
End Sub
Private Sub TextBox4_AfterUpdate()
    If TextBox4.Value = "" Then TextBox4.Tag = 0 Else TextBox4.Tag = TextBox4.Value
    Call calculer
End Sub

L'idéale serait ne n'autoriser que les chiffres [0-2][0-9][:][0-5][0-9] sinon beep et de combiner la valeur des tag pour que la macro calculer fonctionne.

Merci à ceux qui voudront bien jeter un oeil

Bonsoir

A vérifier

Bonsoir,

une petite idée de solution :

On détecte le changement de valeur du textbox4 par le "change" et on teste sa valeur :

si 1 caractère et supérieur à 2 alors on efface et on garde le focus

si 2 caractères et que celui de droite est supérieur à 3 alors on efface ce dernier et on garde le focus, si c'est bon alors on ajoute automatiquement les deux points ":"

si 4 caractères et que celui de droite est supérieur à 5 alors on efface ce dernier et on garde le focus

si 5 caractères on teste si c'est une date

si non on efface le dernier caractère et on garde le focus.

si oui on passe le focus au textbox5 automatiquement.

En imaginant faire ceci sur tous les textbox, alors la saisie est plus rapide et plus sûr, ci ce n'est l'obligation de mettre le zéro devant le 6:23 (06:23).

@ bientôt

LouReeD

Nota : il existe peut-être une solution plus propre...

Merci à vous 2 pour vos réponse.

Banzi ta solution fonctionne très bien

Loureed, je bloque, je suis en excel 2003 et ne peux voir ton fichier.

Bonjour,

Ci-joint la version 2003

@ bientôt

LouReeD

Bonjour,

J'aime bien la version avec les ":" qui se mettent tout seul mais le problème c'est qu'il faut répéter la procédure pour l'ensemble des textbox.

J'essaierai de regarder pour adapter ça à un module de classe, ma bête noir...

Bonjour

Moi aussi j'aime bien... et impossible de commencer par un 49...

Après les modules de classe je ne connais pas et j'ai tendance à faire des répétitions... Après tout ça marche mais c'est pas beau, c'est pas pro !

@ bientôt

LouReeD

Ce n'est pas une question de faire pro ou pas, mon fichier de base est une usine a gaz et j'essai d'optimiser le code à fond pour que la lecture soit plus simple.

Si quelqu'un connait de bon tuto pour les modules de classe, je suis preneur

Rechercher des sujets similaires à "module classe textbox"