Download - Proiect Informatica Manageriala

Transcript

Universitatea "Petru Maior", Trgu MureFacultatea de Inginerie

Aplicaia Cheltuieli atelier de tmplrie

Proiect la disciplinaInformatic Managerial

2014

Aplicaia Cheltuieli atelier de tmplrie

Noiuni teoreticeGestionarea 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 funcii 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 aplicaieiAplicaia 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 aplicaieiPornirea 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 aplicaieiAplicaia 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 cheltuielorFila 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.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 ExplicitFunction 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 = mEnd FunctionObservaie! 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 = sEnd FunctionObservaie! 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 Sheet4.Select Sheet1.Visible = xlSheetHiddenEnd Sub

Private Sub cmdCheltuieli_Click() Sheet2.Visible = xlSheetVisible Sheet2.Select Sheet1.Visible = xlSheetHiddenEnd Sub

Private Sub cmdDescriere_Click()'Deschide un Document Word din ExcelDim objWord As Object

Set objWord = CreateObject("Word.Application")objWord.Visible = True

'Se schimba locatia fisierului WordobjWord.Documents.Open "D:\Proiect.docx"

End Sub

Private Sub cmdDiagrame_Click() Sheet5.Visible = xlSheetVisible Sheet5.Select Sheet1.Visible = xlSheetHiddenEnd Sub

Private Sub cmdSituatii_Click() Sheet3.Visible = xlSheetVisible Sheet3.Select Sheet1.Visible = xlSheetHiddenEnd SubObservaie! 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 = TrueEnd Sub

Private Sub cboLuna_Change() cmdFiltru.Enabled = TrueEnd SubPrivate Sub optToate_Click() lblCategorii.Visible = False cboCategorii.Visible = False cmdFiltru.Enabled = TrueEnd SubPrivate Sub optCategorie_Click() lblCategorii.Visible = True cboCategorii.Visible = True cboCategorii = "" cmdFiltru.Enabled = FalseEnd 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.ListIndexluna = cboLuna.List(cboLuna.ListIndex, 0)If optCategorie.Value = True Then 'Acest If se inchide la ***Primul IF*** If index = -1 Then index = 0End Ifcategoria = cboCategorii.List(index, 0)

'Incepem transferul inregistrarilor filtrate, celula cu celula -------------------------i = 6: j = 6Do 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 + 1LoopElse '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 + 1LoopEnd If '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 = xlSheetHiddenEnd Sub

ConcluziiDac 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.

2