Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Aide_Conversion Lb/Kg avec TextBox dans UserForm

MisterT

XLDnaute Occasionnel
Bonjour à chacun !

J'ai besoin d'aide pour solutionner le problème de la conversion Lb/Kg que je tente de faire dans un UserForm.

Une valeur numérique est mise dans le TextBox5 puis 2 OptionButton servent à sélectionner Lb ou Kg. À l'ouverture du Userform j'ai mis par défaut la valeur en Lb.

Le programme s'arrête à TextBox5.Value = TextBox5.Value * 2.2045855.

Je suis arrivé à faire fonctionner cette conversion dans une feuille de calcul et la ligne identique au TextBox5 ci-haut est Range("N4") = Range("N4") * 2.2045855. Est-ce qu'il y a des subtilités avec les TextBox ?

J'inclus le code pour la valeur du TextBox5 en numérique puis les codes pour la conversio Lb/Kg...

Merci !

Mister T
Code:
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Ici la valeur numérique du TextBox5 fonctionne bien avec une décimale ayant un point car lorsque
'c'était une virgule, la macro d'une autre feuille utilisant la valeur du TexTBox5 indiquait
'une erreur disant que ça devait être un nombre entier ou décimale.
'la valeur du TextBox5 s'inscrit dans une cellule de la feuille du UserForm
'puis cette même valeur est utilisée dans l'autre feuille où la macro donnait l'erreur.
'IDÉALEMENT J'AIMERAIS QUE L'USAGER PUISSE ENTRER UN POINT OU UNE VIRGULE
'ET QUE ÇA FONCTIONNE, EST-CE POSSIBLE???
If InStr("0123456789.", Chr(KeyAscii)) = 0 Then KeyAscii = 0
'J'AIMERAIS AVOIR UNE VALEUR MIN DE 20,0 ET MAX DE 70,0 AVEC UN CHIFFRE ÀPRÈS LE POINT
'MÊME SI UN NOMBRE ENTIER EST ENTRÉ, COMMENT FAIRE ???
TextBox5.MaxLength = 4
End Sub

Private Sub UserForm_Activate()
Lb_OptionButton1.Value = True
Lb_Kg_Label24.Caption = "Lb"
End Sub

Private Sub Lb_OptionButton1_Click()
Tension_Conversion_Kg_Lb
End Sub

Private Sub Kg_OptionButton2_Click()
Tension_Conversion_Lb_Kg
End Sub

Public Sub Tension_Conversion_Lb_Kg()
If Lb_Kg_Label24.Caption = "Lb" Then
TextBox5.Value = TextBox5.Value / 2.2045855
Lb_Kg_Label24.Caption = "Kg"
End If
End Sub

Public Sub Tension_Conversion_Kg_Lb()
If Lb_Kg_Label24.Caption = "Kg" Then
TextBox5 = TextBox5.Value * 2.2045855
Lb_Kg_Label24.Caption = "Lb"
End If
End Sub
 

MisterT

XLDnaute Occasionnel
Re : Aide_Conversion Lb/Kg avec TextBox dans UserForm

Bonjour Jean-Marcel !

Oui c'est bien le nom du fichier et j'ai mis seulement le nom de la Macro et ça fonctionne comme un charme, que de petits détails que seul les grands connaisseurs connaissent, MERCI !
---------------------------------------

Un autre petit détail. Dans ce qui suit que tu m'as fourni et qui fonctionne très bien, comment faire pour que le OUI et NON soit en anglais dans la boite de dialogue ?

If TextBox5 = "" Then
réponse = MsgBox(" There is no TENSION in the field , QUIT anyway ?", vbYesNo)
If réponse = vbYes Then
Unload Me
Exit Sub
ElseIf réponse = vbNo Then
Exit Sub
End If
End If

Merci,
MisterT
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…