You are on page 1of 4

Universit Lumire Lyon 2

2me anne parcours licence


K. Aouiche : kaouiche@eric.univ-lyon2.fr

Facult des sciences conomiques et de gestion


Anne 2004-2005

Examen de Visual Basic


Noubliez pas denregistrer votre travail rgulirement.
Notes de cours et TD sont autoriss
Barme titre indicatif
1 : 6pts, 2 : 2pts, 3 : 8pts, 4 : 2pts, 5 : 2pts

Enonc : Nous voulons mettre en uvre une application sous Visual Basic servant grer les
critures dans un journal. Linterface en cours dexcution de cette application est donne
dans la figure suivante.

Un utilisateur saisi le montant de lcriture et choisi le type de lopration qui veut effectuer
(crdit ou dbut). Il clique ensuite sur le bouton de proprit caption Ecrire dans le
journal pour ajouter le montant saisi dans la liste des crdits si loption crdit est choisie ou
dans la liste des dbits si lautre option dbit est choisi. Si lcriture se fait dans la liste des
crdits (respectivement, dans la liste des dbits) litem correspondant dans la liste des dbits
(respectivement, des crdits) est mis 0. Aprs chaque criture, les calculs du total crdit,
dbit et balance seront effectus. A tout moment, cette utilisateur peut annuler la dernire
criture effectue en cliquant sur le bouton dont la proprit caption est Annuler la
dernire criture . Lannulation dune criture enlve des deux listes crdit et dbit la ligne
correspondante la dernire criture et mis jour le total crdit, dbit et balance. Lutilisateur
peut galement quitter lapplication par un simple clic sur le bouton de proprit caption
Quitter lapplication .

Universit Lumire Lyon 2


2me anne parcours licence
K. Aouiche : kaouiche@eric.univ-lyon2.fr

Facult des sciences conomiques et de gestion


Anne 2004-2005

Travail demand :
1. Ralisez une interface conforme celle propose ci-dessous (voir linterface en mode
cration). Noubliez pas de bien nommer vos contrles VB.
2. Initialisez les valeurs du total crdit, dbit et balance et dclarez les variables globales
ncessaires pour votre application.
3. Programmez ensuite les boutons des trois boutons de commandes Ecrire dans le
journal , Annuler la dernire criture et Quitter lapplication comme
dfinis dans lnonc.
4. Vrifiez que le montant saisi par lutilisateur est bien un rel et ne peut tre vide.
Affichez les messages derreurs laide dun contrle MsgBox.
5. Vrifiez aussi que un clic sur le bouton Annuler la dernire criture ne peut pas
tre possible si aucune criture nest prsente dans la liste crdit et dbit (les deux
listes dbit et crdit son vides).

Correction
Option Explicit
Private credit As Single
Private debit As Single
Private balance As Single
Private Sub BC_Annuler_Click()
'Mise jour des totaux credit, dbit et balance
debit = debit - Val(L_Debit.List(L_Debit.ListCount - 1))
credit = credit - Val(L_Credit.List(L_Debit.ListCount - 1))
balance = credit - debit
'Mise jour des liste numro, date, credit et dbit
L_Credit.RemoveItem (L_Debit.ListCount - 1)
L_Debit.RemoveItem (L_Debit.ListCount - 1)
'Affichage des nouvelles valeurs des totaux crdit, dbit et
balance
LA_Credit.Caption = Str(credit)
LA_Debit.Caption = Str(debit)
LA_Balance.Caption = Str(balance)
'Dsactivation du bouton annuler
If L_Debit.ListCount = 0 Then
BC_Annuler.Enabled = False
End If
End Sub
Private Sub BC_Ecrire_Click()
If (ZT_Montant.Text <> "") Then
'Ajout du montant dans les listes crdit et dbit
If Op_credit.Value = True Then
L_Credit.AddItem (ZT_Montant.Text)
L_Debit.AddItem ("0")
credit = credit + Val(ZT_Montant.Text)
Else
L_Debit.AddItem (ZT_Montant.Text)
L_Credit.AddItem ("0")
debit = debit + Val(ZT_Montant.Text)
End If
'Calcul et affichage des totaux crdit, dbit et balance
balance = credit - debit
LA_Credit.Caption = Str(credit)
LA_Debit.Caption = Str(debit)
LA_Balance.Caption = Str(balance)
'Activation de bouton annuler
BC_Annuler.Enabled = True
'Rafraichir le cadre de la saisie
ZT_Montant.Text = ""
ZT_Montant.SetFocus
Else
MsgBox ("Saisissez le montant de l'opration")
End If
End Sub

Correction
Private Sub BC_Quitter_Click()
End
End Sub
Private Sub Form_Load()
initialisation
credit = 0
debit = 0
balance = 0
LA_Credit.Caption = Str(credit)
LA_Debit.Caption = Str(debit)
LA_Balance.Caption = Str(balance)
BC_Annuler.Enabled = False
End Sub

You might also like