Format Textbox, erreur

  • Initiateur de la discussion Initiateur de la discussion Geraldine
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Geraldine

XLDnaute Occasionnel
bonjour le forum,

j'ai un petit probleme sur des textbox, je m'explique :

J'ai 3 textbox, une textbox4 = une valeur fixe (par exemple 100), et saisies possible dans la texbox3 ou dans la texbox 5.
Si je rentre la valeur 20 dans texbox3 ça donne texbox5 = 5 soit 100/20
Si je rentre la valeur 4 dans texbox5 ça donne texbox3 = 25 soit 100/4

Mon problème c'est que je veux inserer le code

TextBox5 = Format(TextBox5.Value, "#,##0.00")
et TextBox3 = Format(TextBox3.Value, "#,##0.00")

et mes saisies deviennent difficile, soit par exemple, je tape 19.00, il insere rapidement 1.009 et si je ne met pas le code format, il me sort un vingtaine de chiffres après la virgule.

Private Sub TextBox3_Change()
Me.TextBox5.Value = Val(Replace(Me.TextBox4, ",", ".")) / Val(Replace(Me.TextBox3, ",", "."))
End Sub

Private Sub TextBox5_Change()
Me.TextBox3.Value = Val(Replace(Me.TextBox4, ",", ".")) / Val(Replace(Me.TextBox5, ",", "."))
End Sub

Merci, Géraldine
 
Re : Format Textbox, erreur

Salut,

Le problème vient du fait que tu utilises l'évènement Change, donc a chaque fois que tu modifies ton Textbox (a chaque nombre saisie donc), la procédure est lancée.
Utilises plutot l'évèvement Private Sub TextBox1_LostFocus() qui sera activé seulement lorsque tu quitteras le Textbox.

@+
 
Re : Format Textbox, erreur

re et bonjour porcinet82,

avec l'utilisation de Private Sub TextBox1_LostFocus(), le calcul ne se fait plus

Private Sub TextBox5_LostFocus()
Me.TextBox3.Value = Val(Replace(Me.TextBox4, ",", ".")) / Val(Replace(Me.TextBox5, ",", "."))
TextBox3 = Format(TextBox3.Value, "#,##0.00")
End Sub

@
 
Re : Format Textbox, erreur

re,

Je viens de faire le test avec 3 textbox et des que je sors du textbox5, le calul est effectué dans le textbox3 avec le bon format.
C'est quoi le problèmle au juste? Sinon un petit bout de ton fichier permettrait peut etre d'eclaircir un peu les choses.

@+
 
Re : Format Textbox, erreur

Bonjour Géraldine, bonjour Porcinet, Bonjour à tous,

Une autre solution est de désactiver provisoirement l'évènement Change:

Code:
Private Sub TextBox3_Change()
Application.EnableEvents = False
Me.TextBox5.Value = Val(Replace(Me.TextBox4, ",", ".")) / Val(Replace(Me.TextBox3, ",", "."))
Application.EnableEvents = true
End Sub

@+

Gael
 
Re : Format Textbox, erreur

Re,

Ci-joint un exemple à partir du fichier de Porcinet en utilisant l'évènement "After_update".

@+

Gael

PS: avec l'évènement change et Application.EnableEvents = False, ça ne marche pas car on ne peut insérer qu'un seul chiffre dans les textbox. Dès que l'on tape un chiffre, l'évènement change se déclenche et les calculs s'exécutent. Il est donc impossible de taper 2 chiffres.

@+

Gael
 

Pièces jointes

Dernière édition:
Re : Format Textbox, erreur

Re,

Porcinet, comme je n'ai jamais très bien compris ces problèmes de Focus, j'ai voulu mieux comprendre et j'ai essayé sans succès de faire fonctionner ta solution avec Lost_focus.

En fait, comme pour Géraldine, ça ne marche pas chez moi et ce que je ne comprends pas, c'est qu'aucune option style "Focus" n'est proposée dans la liste des évènements proposés par VBA pour les contrôles Textbox.

Du coup, je ne vois pas pourquoi ça marche chez toi. Y-a-t-il une option particulière à préciser pour gérer les Focus?

Merci de ta réponse.

@+

Gael
 
Re : Format Textbox, erreur

re,

En faite, étant fainéant, j'avais fait le test sur une feuille et non sur un USF en pensant que les evenements seraient identiques et avec ta question, je m'appercois que ca n'est pas le cas, donc ma solution ne risquait pas de fonctionner !!!
Sinon, la solution qui correspondrait sur le USF a ce que je proposais serait l'evenement Exit

Voili, voilou,

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
35
Affichages
2 K
Réponses
7
Affichages
1 K
Retour