Sunteți pe pagina 1din 10

Universitatea "Petru Maior", Trgu Mure

Facultatea de Inginerie

Aplicaia Cheltuieli atelier de


tmplrie
Proiect la disciplina
Informatic Managerial

2014
1

Aplicaia Cheltuieli atelier de tmplrie

Noiuni teoretice
Gestionarea cheltuielilor este o activitate foarte important pentru fiecare
firm/ntreprindere. Trebuie avut n vedere faptul c cheltuielile pot varia dup mai
multe criterii i toate acestea trebuie catalogate. Cel mai simplu mod de a urmri
cheltuielile unei firme este prin utilizarea unui program de gestiune a acestora, ca i
aplicaia de fa: Aplicaia Cheltuieli atelier de tamplarie.
Aplicaia a fost scris n mediul VBA Excel, utiliznd diferite func ii i
subprograme dup care n tabelele care trebuie s conin informaii destinate spre
evaluare, au fost introduse date.
n continuare va fi descris aplicaia, evideniindu-se rolul fiecrei foi de calcul
mpreun cu elementele de interfa, butoane de comand, combobox-uri, butoane de
opiune, checkbox-uri etc.

Componena aplicaiei
Aplicaia conine urmtoarele file:

Panou aplicatie - conine butoanele cu care se gestioneaz aplicaia;

Cheltuieli conine lista cheltuielilor, data i categoria acestor cheltuieli;

Situaii conine un tabel centralizator cu toate categoriile de cheltuieli, totalul


cheltuielilor pe fiecare categorie i un sistem de filtrare a cheltuielilor dup
diferite luni i categorii.

Cataloage n aceast fil sunt enumerate categoriile de cheltuieli existente n


firma S.C. Coop SRL;

Statictica n aceast fil se poate vizualiza grafic situaia cheltuielilor


repartizat pe luni, mpreun cu o list de sume care se poate actualiza ori de
cte ori se adaug o cheltuial nou;

Interfaa aplicaiei
Pornirea fiecrui modul al aplicaiei de generare asistat de calculator a documentelor se
face cu shortcut-ul corespunztor de pe desktop, care va deschide fila Panou aplicatie,
coninnd interfaa aplicaiei (figura 1). Aceast interfa conine 6 butoane cu care se
gestioneaz ntreaga aplicaie.

Butonul Cheltuieli ne duce n fila cu acelai nume care conine lista tuturor categoriilor
de cheltuieli. Organizarea datelor n aceast fil este evident, codul i denumirea
fiecrei categorii de cheltuial. Trebuie completate numai coloanele A, C, D i E.
Coloana B se autocompleteaz utiliznd funcia Month(A), iar coloana D care conine
numrul categoriei se completeaz selectnd celula i apoi alegnd categoria potrivit
din lista aprut n Combobox-ul: cboCategorii.
Butonul Situatii vizualizeaz fila cu situaia centralizat a cheltuielilor efectuate de la
nceputul anului, n raport cu sumele prevzute.
Butonul Cataloage ne duce la fila numit Cataloage.
Butonul Vizualizare statistici lunare deschide fila Statistica n care nu se mai
completeaz nimic, datele sunt generate automat cu ajutorul funciei Function Suma a
crui cod este scris n Modulul 1 a aplicaiei Excel.
Butonul Tiparire lista cheltuieli acceseaz un macro care selecteaz celulele din foaia
Cheltuieli n care sunt introduse datele, i le printeaz automat.
Butonul Descriere proiect deschide un fiier Word care conine o descriere detaliat a
aplicaiei i modul de utilizare a acesteia.
Funcionarea aplicaiei
Aplicaia se pornete pentru a executa cel puin una din urmtoarele activiti:

Actualizarea listei de cheltuieli;

Vizualizarea detaliilor referitoare la cheltuieli n funcie de categorie i luna n


care s-au efectuat cheltuielile respective;

Studierea situaiei cheltuielilor;

Tiprirea documentelor care nsoesc o cheltuial.

Fiecare din aceste activiti are rezervat un buton de comand pe interfa.


Pentru a nregistra o cheltuial se parcurg urmtoarele etape:

1. Se apas butonul Cheltuieli, care ne conduce n fila Cheltuieli unde se


completeaz manual Data, Denumirea cheltuielii i Suma acesteia. Alegerea
codului pentru o anumit categorie se face din lista urmtoare, care este un
Combobox (aceste informaii din Combobox sunt luate din fila Cataloage).
Fig. 2

Din caseta cu list Alege categoria cheltuielii se alege categoria potrivit.


Observaie!! Ca s completm o celul utiliznd caseta cu categorii trebuie
neaprat s ne aflm cu selecia n coloana D.
2. Dup ce s-au completat toate celulele se actualizeaz totalurile cheltuielilor
repartizate dup categorii, print-un click pe butonul Actualizare totaluri (se
aplic din nou funcia SumIf);
Urmrirea cheltuielor
Fila Situatii conine o centralizare la zi a cheltuielilor efectuate. Aici se pot verifica
cheltuielile efectuate din fiecare lun sau/i cheltuielile realizate ntr-o lun dup o
anumit categorie.
Se pot filtra toate cheltuielile unei anumite categorii, prin simpla alegere a codului
categoriei din caseta cu list situat n partea de sus a foii, dac acesta a fost activat (fig.
5).
Dac dorim s vedem cheltuielile pe o categorie, mai nti se activeaz caseta combinat
din dreapta etichetei O categorie, fcnd un click pe checkbox-ul din faa aceleiai
etichete. Se alege apoi categoria, dup care se d un click pe butonul Filtrare, efectul
imediat fiind filtrarea cheltuielilor.
Pentru revenirea la afiarea tuturor cheltuielilor din acea lun se alege checkbox-ul
Toate categoriile i se apas butonul Filtrare.
Procedeul se poate repeta de cte ori dorim.

Fig. 5.
5

Pentru scoaterea la imprimant a cheltuielilor unei categorii se va filtra mai nti dup
acea categorie apoi se va lista manual, dup regulile cunoscute din Excel.

Codul VBA al aplicaiei:


Modulul 1:
Option Explicit
Function UltimRind(foaia As Worksheet, ByVal rstart As Integer, ByVal coloana As
Integer) As Integer
Dim m As Integer
Do Until foaia.Cells(rstart, coloana) = ""
m = rstart
rstart = rstart + 1
Loop
UltimRind = m
End Function
Observaie! Aceast funcie are rolul de a gsi ultimul rnd care este completat.
Function Suma(luna As Integer) As Double
Dim f As Worksheet, r As Integer, s As Double
s=0
r=6
Do Until r = UltimRind(Sheet2, 6, 2)
If Sheet2.Cells(r, 2) = luna Then
s = s + Sheet2.Cells(r, 5)
End If
r=r+1
Loop
Suma = s
End Function
Observaie! Funcia Suma calculeaz pentru fiecare lun totalul cheltuielilor
efectuate analiznd fiecare rnd care aparine acelei luni (ncepnd din rndul 6) i
din rndul acela tot adaug sumei s suma cheltuielii din luna respectiv.
Subprogramele ataate foii Panou:
Private Sub cmdCataloage_Click()
Sheet4.Visible = xlSheetVisible
6

Sheet4.Select
Sheet1.Visible = xlSheetHidden
End Sub
Private Sub cmdCheltuieli_Click()
Sheet2.Visible = xlSheetVisible
Sheet2.Select
Sheet1.Visible = xlSheetHidden
End Sub
Private Sub cmdDescriere_Click()
'Deschide un Document Word din Excel
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
'Se schimba locatia fisierului Word
objWord.Documents.Open "D:\Proiect.docx"
End Sub
Private Sub cmdDiagrame_Click()
Sheet5.Visible = xlSheetVisible
Sheet5.Select
Sheet1.Visible = xlSheetHidden
End Sub
Private Sub cmdSituatii_Click()
Sheet3.Visible = xlSheetVisible
Sheet3.Select
Sheet1.Visible = xlSheetHidden
End Sub
Observaie! Aceste subprograme se activeaz dnd click pe butoanele ataate
comenzii i ascund, respectiv fac vizibile pe rnd celelalte foi ale fiierului.

Codul foii Situaii i sistemul de filtrare:


Private Sub cboCategorii_Change()
cmdFiltru.Enabled = True
End Sub
Private Sub cboLuna_Change()
cmdFiltru.Enabled = True
End Sub
Private Sub optToate_Click()
lblCategorii.Visible = False
cboCategorii.Visible = False
cmdFiltru.Enabled = True
End Sub
Private Sub optCategorie_Click()
lblCategorii.Visible = True
cboCategorii.Visible = True
cboCategorii = ""
cmdFiltru.Enabled = False
End Sub
Private Sub cmdFiltru_Click()
Dim n As Long, i As Long, j As Long, luna As Long, categoria As Long, index As
Long
'Sterg afisarea veche din foaia Situatii --------------------------------------------n = UltimRind(Sheet3, 5, 1)
Range(Cells(6, 1), Cells(n + 1, 4)).ClearContents
'Transfer inregistrarile filtrate ---------------------------------------------------n = UltimRind(Sheet2, 6, 1)
'Apelez functia UltimRind ---------------------------------index = cboCategorii.ListIndex
luna = cboLuna.List(cboLuna.ListIndex, 0)
If optCategorie.Value = True Then 'Acest If se inchide la ***Primul IF***
If index = -1 Then
index = 0
8

End If
categoria = cboCategorii.List(index, 0)
'Incepem transferul inregistrarilor filtrate, celula cu celula ------------------------i = 6: j = 6
Do While i < n
'Cazul cand avem categorie--------------------------------------If Sheet2.Cells(i, 2) = luna And Sheet2.Cells(i, 4) = categoria Then
Cells(j, 1) = Sheet2.Cells(i, 1)
Cells(j, 2) = Sheet2.Cells(i, 3)
Cells(j, 3) = Sheet2.Cells(i, 4)
Cells(j, 4) = Sheet2.Cells(i, 5)
Cells(j, 5) = Sheet2.Cells(i, 6)
j=j+1
End If
i=i+1
Loop
Else
'De la **** Primul IF*** ------------------------i = 6: j = 6
Do While i < n
'Cazul cand filtram numai dupa luna (toate categoriile) --------------------------If Sheet2.Cells(i, 2) = luna Then
Cells(j, 1) = Sheet2.Cells(i, 1)
Cells(j, 2) = Sheet2.Cells(i, 3)
Cells(j, 3) = Sheet2.Cells(i, 4)
Cells(j, 4) = Sheet2.Cells(i, 5)
Cells(j, 5) = Sheet2.Cells(i, 6)
j=j+1
End If
i=i+1
Loop
End If
9

'Aici se inchide ***Primul IF**** ------------------------------'Aici se completeaza titlul, in celula C3


If optCategorie.Value = True Then
Cells(3, 3) = cboLuna.List(cboLuna.ListIndex, 1) & " - " &
cboCategorii.List(index, 1)
Else
Cells(3, 3) = cboLuna.List(cboLuna.ListIndex, 1)
End If
'Cand am terminat de filtrat stergem categoria aleasa si blocam butonul cmdFiltru
cmdFiltru.Enabled = False
End Sub
'Butonul de intoarcere in foaia Panou, are atasata procedura urmatoare
Private Sub cmdPanou_Click()
Sheet1.Visible = xlSheetVisible
Sheet1.Select
Sheet3.Visible = xlSheetHidden
End Sub
Concluzii
Dac s-au introdus date greite, acestea se pot corecta prin tergerea ntregii cheltuieli i
reintroducerea ei. Dup tergere se introduce din nou cheltuiala, dup procedura
obinuit, care n final va fi salvat n baza de date.

10

S-ar putea să vă placă și