Problème avec une calculatrice

Problème avec une calculatrice - VB/VBA/VBS - Programmation

Marsh Posté le 23-04-2007 à 19:50:32    

Bonjour  à tous;
Je cherche à créer une petite calculatrice, c'est mon premier  
exercice en vb6 et je n'arrive pas à m'en sortir.
Lorsque j'exécute le programme pour le tester j'ai le message  
suivant: erreur de compilation "La declaration de la procédure ne  
correspond pas à la description de l'évenement ou de la procédure du  
même nom". Et la ligne du code "Private Sub cmdQuitter_Click "est  
soulignée.
Lorsque je rajoute des (index as integer) à tous les sub j'ai le  
message suivant :
Erreur de compilation:
"méthode ou membre de données introuvable"
Pouvez-vous m'aidez à trouver le problème s'il vous plaît? D'avance  
merci.
 
 
Voici le code
 

Code :
  1. 'Commande de calcul du résultat
  2. Private Sub cmdCalculer_Click()
  3. Dim resultat As Double
  4. 'optionbutton de multiplication
  5. If optMultiplication.Value = True Then
  6. resultat = valeur1 * valeur2
  7. End If
  8. 'optionbutton d'addition
  9. If optAddition.Value = True Then
  10. resultat = valeur1 + valeur2
  11. End If
  12. 'optionbutton de soustraction
  13. If optSoustraction.Value = True Then
  14. resultat = valeur1 - valeur2
  15. End If
  16. 'optionbutton de division entière
  17. If ((optDivisionEntiere.Value = True) And (valeur2 <> 0)) Then
  18. resultat = valeur1 \ valeur2
  19. Else
  20. MsgBox "Pas de division sur 0!", vbCritical
  21. End If
  22. 'optionbutton de modulo
  23. If optModulo.Value = True Then
  24. resultat = valeur1 Mod valeur2
  25. End If
  26. End Sub
  27. ' Commande pour quitter
  28. Private Sub cmdQuitter_Click()
  29. End
  30. End Sub
  31. ' Label dans lequel doit s'afficher le résultat
  32. Private Sub lblAffichage_Change()
  33. Dim affichage_resultat As String
  34. affichage_resultat = CStr(resultat)
  35. End Sub
  36. ' Textbox n°1 dans lequel l'utilisateur rentre les chiffres
  37. Private Sub txt01_Change()
  38. Dim text1 As String
  39. Dim valeur1 As Double
  40. text1 = txt01.Text
  41. If Not IsNumeric(text1) Then
  42. MsgBox "Valeur non numerique!", vbCritical
  43. Else
  44. valeur1 = CDbl(text1)
  45. End If
  46. End Sub
  47. ' Textbox n°2 dans lequel l'utilisateur rentre les chiffres
  48. Private Sub txt02_Change()
  49. Dim text2 As String
  50. Dim valeur2 As Double
  51. text2 = txt02.Text
  52. If Not IsNumeric(text2) Then
  53. MsgBox "Valeur non numerique!", vbCritical
  54. Else
  55. valeur2 = CDbl(text2)
  56. End Sub


 
 
 

Reply

Marsh Posté le 23-04-2007 à 19:50:32   

Reply

Marsh Posté le 23-04-2007 à 20:44:00    

deja il te manque un end if ligne 80

Reply

Marsh Posté le 23-04-2007 à 20:52:24    

Le problème est que j'ai copié collé des boutons.
J'ai tout recommencé à 0 et j'ai simplifié en supprimant un max, je n'ai plus de message d'erreur mais le nouveau problème est que mon résultat de calcul ne s'affiche pas :

Code :
  1. 'Commande de calcul du résultat
  2. Private Sub cmdCalculer_Click()
  3. Dim resultat As Double
  4. 'optionbutton d'addition
  5. If OptAddition.Value = True Then
  6. resultat = valeur1 + valeur2
  7. End If
  8. End Sub
  9. ' Commande pour quitter
  10. Private Sub cmdQuitter_Click()
  11. End
  12. End Sub
  13. ' Label dans lequel doit s'afficher le résultat
  14. Private Sub lblAfficher_Change()
  15. Dim affichage_resultat As String
  16. affichage_resultat = CStr(resultat)
  17. End Sub
  18. ' Textbox n°1 dans lequel l'utilisateur rentre les chiffres
  19. Private Sub text1_Change()
  20. Dim Texte1 As String
  21. Dim valeur1 As Double
  22. Texte1 = text1.Text
  23. valeur1 = CDbl(Texte1)
  24. End Sub
  25. ' Textbox n°2 dans lequel l'utilisateur rentre les chiffres
  26. Private Sub text2_Change()
  27. Dim Texte2 As String
  28. Dim valeur2 As Double
  29. Texte2 = text2.Text
  30. valeur2 = CDbl(Texte2)
  31. End Sub

Reply

Marsh Posté le 23-04-2007 à 21:08:44    

Bonsoir
 
Ta variable resultat est définie dans Sub cmdCalculer_Click()
 
C'est peut etre genant pour l'appeler plus tard ?

Reply

Marsh Posté le 23-04-2007 à 21:20:52    

moi j'ai fait
ca
ya le code pour affecter le resultat à la zone de texte
 
'Commande de calcul du résultat
Private Sub cmdCalculer_Click()
Dim resultat As Double
Texte1 = text1.Text
valeur1 = CDbl(Texte1)
Texte2 = text2.Text
valeur2 = CDbl(Texte2)
'optionbutton d'addition
If OptAddition.Value = True Then
resultat = valeur1 + valeur2
Call afficher
End If
End Sub
' Commande pour quitter
Private Sub cmdQuitter_Click()
End
End Sub
Sub afficher()
'resultat = 11
aff.Text = CStr(resultat)
End Sub
 
 
le problème est que resultat n'est pas public donc quand je rentre dans afficher() resultat=0
 
si ca peut t'aider
t'en mieux


Message édité par ingenieurcesi le 23-04-2007 à 21:21:55
Reply

Marsh Posté le 23-04-2007 à 22:30:34    

Voici ma version finale au cas où cela pourrait servir à qualqu'un d'autre.

Code :
  1. 'XXXX exercice calculette
  2. 'Commande de calcul du résultat
  3. Private Sub cmdCalculer_Click()
  4. 'Au cas où l'utilisateur rentrerait autre chose que du chiffre
  5. If (Not IsNumeric(txt01)) Or (Not IsNumeric(txt02)) Then
  6. MsgBox "Valeur non numerique!", vbCritical
  7. Else
  8.     If OptAddition.Value = True Then
  9.         lblAffichage.Caption = CStr(CDbl(txt01.Text) + CDbl(txt02.Text))
  10.     End If
  11.     If optSoustraction.Value = True Then
  12.         lblAffichage.Caption = CStr(CDbl(txt01.Text) - CDbl(txt02.Text))
  13.     End If
  14.     If ((optDivisionEntiere.Value = True) And (CDbl(txt02.Text) <> 0)) Then
  15.         lblAffichage.Caption = CStr(CDbl(txt01.Text) \ CDbl(txt02.Text))
  16.     End If
  17. 'Au cas où l'utilisateur diviserait par 0
  18.     If ((optDivisionEntiere.Value = True) And (CDbl(txt02.Text) = 0)) Then
  19.         MsgBox "Cette opértation est impossible!!!", vbCritical
  20.     End If
  21.     If optModulo.Value = True Then
  22.         lblAffichage.Caption = CStr(CDbl(txt01.Text) Mod CDbl(txt02.Text))
  23.     End If
  24.     If optMultiplication.Value = True Then
  25.         lblAffichage.Caption = CStr(CDbl(txt01.Text) * CDbl(txt02.Text))
  26.     End If
  27. End If
  28. End Sub
  29. ' Commande pour quitter
  30. Private Sub cmdQuitter_Click()
  31.     End
  32. End Sub


Message édité par teycir le 23-04-2007 à 22:31:35
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed