Multiplication dans Textbox

Résolu
Mik -  
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour forumeuse et forumeur,

Je suis débutant en visual basic et j'aimerais savoir s'il est possible de multiplier des textbox.
J'ai crée une userform avec trois textbox et j'aimerais que la textbox 3 affiche automatiquement le resultat de la multiplication de la textbox1 x textbox 2.
genre:

Textbox3.value= val((textbox1.value) * (textbox2.value))

ce code ne fonctionne pas hélas :(

merci d'avance à qui me répondra
A voir également:

3 réponses

xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Bonjour,
Ceci est effectivement possible.
Donc si j'ai bien compris, vous avez une userform avec 3 textbox, vous remplissez les deux premieres et ensuite vous voulez que la 3eme se remplisse automatiquement c'est bien cela?
0
Mik
 
bonjour Xav3601,

Effectivement c'est bien cela, j'ai trois textbox qui sont disposées comme suite:
-textbox 1= surface en m²
-textbox 2 = nbr de m²
-textbox 3= total (et j'aimerais qu'il se remplisse automatiquement mais également laissant libre saisie)

merçi pour la rapidité
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Alors pour ce faire,
vous avez des fonction dans votre macro pour chacune des deux textbox a remplir manuellement du genre:

Private Sub textbox1_change()
Form1.textbox1=Form1.textbox1.value 'afin de recuperer la valeur taper
if Form1.textbox2 <> "" then 'si la textbox2 est deja rempli
Form1.textbox3=Form1.textbox1 * if Form1.textbox2 'on fais la multiplication
End If
End Sub

Private Sub textbox2_change()
Form1.textbox2=Form1.textbox2.value 'afin de recuperer la valeur taper
if Form1.textbox1 <> "" then
Form1.textbox3=Form1.textbox1 * if Form1.textbox2
End If
End Sub

Ca devrais a priori marcher.
0
Mik
 
Merci de la réponce,

Alors il y a quelques petits erreurs du au copier coller ^^ mais ça c'est bon c'est résolu. 5.
Mon problème se trouve sur la ligne:
Form1.textbox1=Form1.textbox1.value

je ne sais pas si ça change quelque chose mais mes textbox sont enfaites
textbox7
" 8
" 9

mais je pense que ça n'a aucune importance pour les form.

j'essayes de trouver une solution de mon coté mais je vous remercie de votre aide
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311 > Mik
 
Le nom des textbox n'as aucune importance, il suffit juste que ce soit la même des chaques coté :)
0
Mik > xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention  
 
Alors débutant oblige je viens juste de comprendre que Form1= Userform1 hors moi c'est UserForm2 donc en gros ça fonctionne mieux avec la bonne UserForm ;).

Je remercie donc xav3601, et en ce qui concerne Develloper_man du fait que le code de xav3601 fonctionne je n'ai pas testé le votre. De surcroit il fait peur pour un novice lol.
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311 > Mik
 
Oups desole!
en fait je pense que le nom standard etait form mais en fait c'est userform c'est juste...
0
developper_man Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   5
 
voila :) un peu bargo , mais ça fonctionne ... pour éviter les test ;)

Private Sub txt_surface_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_surface.TextChanged
calcule()
End Sub
Private Sub txt_nombre_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_nombre.TextChanged
calcule()
End Sub
Private Sub calcule()
If Not (txt_surface.Text = "" Or txt_nombre.Text = "") Then
Try
txt_total.Text = CType(txt_surface.Text, Double) * CType(txt_nombre.Text, Double)
Catch ex As Exception
txt_total.Text = "impossible"
End Try
Else
txt_total.Text = "impossible"
End If
End Sub
0