Multiplication de 2 TextBox

dj dim

XLDnaute Occasionnel
Bonjour à tous,

Je bloque sur la multiplication automatique de 2 textbox :
- Textbox1 : Valeur en chiffres
- TextBox2 : Valeur en %
- TextBox3 : Résultat en chiffres

Voici mon code de base :
Code:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox3 = TextBox1 * TextBox2
End Sub

Merci par avance pour voter aide

PS : je cherche également pour que la TextBox2 execute automatiquement une mise en forme automatique lors de la saisie
 

Guiv

XLDnaute Occasionnel
Re : Multiplication de 2 TextBox

Bonjour dj_dim, le forum,
Essaie:
Code:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Not IsNumeric(TextBox2) Then
        MsgBox "Vous devez saisir un nombre"
        Cancel = True
        TextBox2 = ""
        TextBox2.SetFocus
    Else
        TextBox3 = TextBox1 * TextBox2
        TextBox2 = TextBox2 & "%"
    End If
End Sub
Cordialement,
Guiv
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Multiplication de 2 TextBox

Bonjour Dimitri, Guiv et à ceux qui passeront par là.

Dans ton cas, il est possible de faire:

Code:
Private Sub TextBox2_Change()
On Error Resume Next ' Si ce n'est pas une saisie conforme!
        TextBox3 = TextBox1 * Replace(TextBox2.Value, ".", ",")
End Sub

Car l'utilisation du clavier numérique est la plus probable.
Donc point et non virgule! Ou l'inverse... J'ai perdu le fil :p

Amicalement :)

Yann

P.S. Guiv tu me dois deux écrans
 
Dernière édition:

Guiv

XLDnaute Occasionnel
Re : Multiplication de 2 TextBox

Re,
P.S. Guiv tu me dois deux écrans

Moins destructeur que les coups de godasses sur l'écran ;)
images


A +
Guiv
 

dj dim

XLDnaute Occasionnel
Re : Multiplication de 2 TextBox

Bonjour à tous,

Merci pour vos réponse.

J'ai bo essayé j'ai un problème dans les 2 cas :

- Solution Guiv : Je tape les pourcentages via le clavier numérique donc j'ai sans cess le message d'erreur

- Solution Yann-56 : Rien ne se passe

Comment faire pour fusionner les 2 solutions et calculer dès lors que la textbox1 est rensignée sans imposer la modifde la textbox2

PS : Excellent la bestiole Guiv!
 

Guiv

XLDnaute Occasionnel
Re : Multiplication de 2 TextBox

Re,
Peut-être:
Code:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Not IsNumeric(Replace(TextBox2, ".", ",")) Then
        MsgBox "Vous devez saisir un nombre"
        Cancel = True
        TextBox2 = ""
        TextBox2.SetFocus
    Else
        TextBox3 = TextBox1 * Replace(TextBox2, ".", ",")
        TextBox2 = TextBox2 & "%"
    End If
End Sub
 

YANN-56

XLDnaute Barbatruc
Re : Multiplication de 2 TextBox

Dis-moi Dimitri,

N'as-tu pas rebaptisé l'un ou l'autre des TextBoxes??? :confused:

Car chez moi cela fonctionne bien...

A voir

Yann

P.S.Je viens de relire; il semble avoir confusion chez toi
entre la TextBox1, 2 et 3... Jette un oeil..!
 
Dernière édition:

dj dim

XLDnaute Occasionnel
Re : Multiplication de 2 TextBox

J'ai reussi à bidouiller en reprenant vos 2 solutions.

Merci encore.

Maintenant le problème que je rencontre c'est que je récupére la donnée de la TextBox2 dans une feuille et celle-ci apparait au format xx,xx donc j'ai mis en place le code suivant de manière à ce qu'il apparaissent en pourcentage :

Code:
TextBox2.Value = Format(TextBox2, "0.00%")

Donc je suis obligé de resaisir le taux dans la textbox et je souhaiterai pouvoir le garder si je suis ok avec.

Le calcul est il possible automatique quand je rentre les données dans la TextBox1 ?
 

Discussions similaires

Réponses
13
Affichages
381

Statistiques des forums

Discussions
313 344
Messages
2 097 336
Membres
106 916
dernier inscrit
Soltani mohamed