Aficher solution label

DjMedz Messages postés 16 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 2 octobre 2008 - 19 août 2007 à 23:07
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 20 août 2007 à 00:11
Bonjour, je fais un programme qui doit compter la valeur d'une textbox * la valeur d'une autre textbox et l'afficher dans une autre textbox...  ex: 4 * 4 = 16 y a t-il moyen de faire afficher la reponse 16 sans avoir a créer un bouton qui dit calucul txt1 =  txt1 * txt2

merci

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 août 2007 à 23:14
salut,

tu peux faire une procédure Calcul, qui sera appelée par les évènements Change de tes 2 TextBox.
Faudra gérer le cas où il n'y aura pas de donnée dans un des 2 (donc mettre par exemple N/A dans le résultat) et gérer aussi, quand le nombre se termine par le symbole décimal (car l'évènement change est appelé à chaque changement d'état dans le contrôle, quand t'appuie sur 2. l'évènement change se déclenche quand le 2 est appuyé mais aussi quand c'est le point (ou virgule))

@++

<hr width="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
19 août 2007 à 23:15
Sur les EVt change des textbox par exemple. A chaque fois que l'utilisateur va modifier le contenu d'une textbox, tu recalculeras ta fonction
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 août 2007 à 00:07
Salut Mortalino,
Salut Kristof,
Salut DjMedz

Il vauderait mieux le faire en combinant KeyUp et Validate...


Private Sub Text1_KeyUp(KeyCode As Integer)
   If KeyCode=vbKeyReturn Then SendKeys '{tab}"
End Sub


Private Sub Text2_KeyUp(KeyCode As Integer)
   If KeyCode=vbKeyReturn Then SendKeys '{tab}"
End Sub


Private Sub Text1_Validate(Cancel As Boolean)
   If Valid_Calcule=False Then Cancel=True
  'tu ne sors pas du control tant que les données ne sont pas valides
End Sub


Private Sub Text2_Validate(Cancel As Boolean)
   If Valid_Calcule=False Then Cancel=True
  '
End Sub


Function Valid_Calcule() As Boolean
   On Error Goto Err_C
    Label.Caption=Cint(Text1.Text)*CInt(Text2.Text)
    Valid_Calcul=True
   Exit Function
  
Err_C:
MsgBox "Données manquantes ou incompatible"
End Function


NB:
1° Tu peux aussi employer CDbl ou CCur.Tout dépend du format de ton calcul.
2° Si tes TextBox sont indéxés ça sera plus court.Une Sub par événement.
3° Fais en sorte que les propriétés TabIndex des textbox se suivent.
4° Personnellement j' ai horreur le l' even. Change() 


<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 août 2007 à 00:11
Ah! chose très importante
Initialises le contenu de tes Textbox (valeur 0 par exemple)

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
Rejoignez-nous