Multiplication dans Textbox

Résolu
Mik -  
xav3601 Messages postés 3390 Statut Membre -
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
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. xav3601 Messages postés 3390 Statut Membre 312
     
    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
    1. 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
  2. xav3601 Messages postés 3390 Statut Membre 312
     
    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
    1. 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
      1. xav3601 Messages postés 3390 Statut Membre 312 > Mik
         
        Le nom des textbox n'as aucune importance, il suffit juste que ce soit la même des chaques coté :)
        0
      2. Mik > xav3601 Messages postés 3390 Statut Membre
         
        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
      3. xav3601 Messages postés 3390 Statut Membre 312 > Mik
         
        Oups desole!
        en fait je pense que le nom standard etait form mais en fait c'est userform c'est juste...
        0
  3. developper_man Messages postés 44 Statut Membre 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