Textbox numérique

Pierwak

XLDnaute Occasionnel
bonjour a tous,
J'ai tenté hier de faire remonter ce fil
https://www.excel-downloads.com/threads/textbox-au-format-numerique.68407/
Car je rencontre un problème comme expliqué dans le dernier message. Devant l'absence de réponses, je me permet de relancer un fil séparé pour attirer ceux qui ne répondent qu'aux nouvelles discussions ou au discussions sans réponses.

Comme vous le verrez c'est un détail mais c'est tout de même un peui embetant. répondre sur ce fil ou sur l'autre, je checkerai les deux.

D'avance merci.
 

Pierrot93

XLDnaute Barbatruc
Re : Textbox numérique

Bonjour Pierrak

sauf que là, tu ne dis rien sur ton problème... si je regarde les objets de tous tes fils ouverts, aucun n'est sans réponse... et aucun concerne une textbox... peut être un autre forum... pas top les jeux de piste...
 

Pierrot93

XLDnaute Barbatruc
Re : Textbox numérique

Re

arff, je n'avais pas percuté sur le fait que tu reprenais un vieux fil....

si tes "textbox" sont placés dans un "frame", il faut également rajouté une procédure événementielle, enfin perso, pas d'autre solution pour le moment.

Essaye le code ci dessous, à rajouté sur chaque "frame" où se trouve des textbox dont tu veux controler le contenu :

Code:
Private Sub Frame1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim c As Control
For Each c In Frame1.Controls
    If TypeOf c Is MSForms.TextBox Then
        If Not IsNumeric(c.Value) And Not IsEmpty(c.Value) Then
            MsgBox c.Name & " : saisie non valide !!!"
            Cancel = True
            c.SetFocus
            Exit For
        End If
    End If
Next c
End Sub

laisse les événements "exit" des textbox si tu veux qu'un controle soit fait au changement de textbox dans un même "frame".

@+
 

Pierwak

XLDnaute Occasionnel
Re : Textbox numérique

Salut pierrot,
pas de problèmes pour le ratage du lien, ca peut arriver !!

Sinon ok pour ton code, cela marche bien sur les frames ou les textbox sont uniquement numériques. Merci, déja un onglet de réglé !!!

Mais le problème c'est que dans certaines frames j'ai également des textbox dans lesquelles ont doit taper du texte et la ya forcément ya un souci... Sinon peut etre que je peut rajouter une frame juste pour ces textbox la et la rendre invisible ?? j'essaye et je vous tiens au courant.

Merci a toi et a tous les autres qui pourront avoir des idées la dessus.
 

Pierrot93

XLDnaute Barbatruc
Re : Textbox numérique

Re

peut être rajouter un test :

Code:
Private Sub Frame1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim c As Control
For Each c In Frame1.Controls
    If TypeOf c Is MSForms.TextBox Then
        If c.Name <> "nomtextboxavectexte" Or c.Name <> "nomtextboxavectexte2" Then
            If Not IsNumeric(c.Value) And Not IsEmpty(c.Value) Then
                MsgBox c.Name & " : saisie non valide !!!"
                Cancel = True
                c.SetFocus
                Exit For
            End If
        End If
    End If
Next c
End Sub

mais si tu en as beaucoup cela risque peut être d'être laborieux... a voir...

@+
 

Pierwak

XLDnaute Occasionnel
Re : Textbox numérique

Merci Pierrot,
finalement j'ai changé mon fusil d'épaule et j'ai crée une fonction a part qui fait les test lors de la validation car avec des cas ou plusieurs frames étaient imbriquées c'était soit certains champs qui pouvaient laisser l'utilisateur s'échapper soit des triples messages à chaque fois et vu le nombre de controles c'était pénible à gérér.
 

Statistiques des forums

Discussions
312 877
Messages
2 093 155
Membres
105 642
dernier inscrit
ABDELMAJIDZIANI