APLICATII EXCEL - mini CRM

Dupa cum ati vazut unul dintre serviciile pe care vi-le prezint prin intermediul acestui site este acela de dezvoltare a unor aplicatii in Excel.
Astazi vreau sa va arat un exemplu pentru o astfel de aplicatie - un sistem CRM.
Ok, poate ca la prima vedere pare greu de crezut ca asa ceva poate fi facut in Excel, mai ales daca ai in minte sisteme CRM cu pretentii.

Ce este, foarte simplist spus, un CRM - este un sistem, o aplicatie in care poti face urmatoarele:

  • inregistra informatii despre diverse contacte / clienti
  • inregistra informatii despre activitatile in care ii impliti pe clientii cu care lucrezi (de exemplu - informatiile despre vizitele realizate acestora si ce anume s-a intamplat acolo)
  • informatii despre cheltuieli, planificarea si desfasurarea anumitor evenimente

Sigur, ca dupa ce ai stocat toate aceste info trebuie sa le poti si extrage din acel sistem pentru a le pune in evidenta prin intermediul diverselor tabele, rapoarte etc.

Si totusi de ce am face asta in Excel si nu intr-un sistem CRM adevarat.
Scopul meu nu este sa demontez mituri despre sisteme CRM, nici sa ridic in slavi vreo alternativa in Excel, dar va aduc cateva argumente:

  • un sistem CRM poate costa cateva mii / zeci de mii de eruo anual
  • insasi partea de dezvoltare/ customizare si implementare sunt foarte costisitoare
  • sigur exista comapanii mai mici si nevoi mai marunte vis-a-vis de utilizarea unui CRM  astfel incat nu se justifica o investitie ridicata

Dar sa va arat ce am creat

Este o aplicatie reala, realizata pentru un prieten care are nevoie sa-si inregistreze informatiile despre pacienti si consultatiile efectuate in cadrul unui cabinet stomatologic obisnuit

Fara sa fie cu adevarat finisata partea de design, iata ce a iesit:

Sistemul creat are trei sectiuni principale, cele de mai jos:

CaptureItPlus635684301151181163

Si inca doua sectiuni destinate stocarii datelor introduse:

CaptureItPlus635684301242066920

Sa incepem cu inceputul:

1. Mai intai trebuie introduse datele pacientului in sistem, adica creata o inregistrare cu datele pacientului. Aceasta este interfata

CaptureItPlus635684301020066626

Dupa cum vedeti, trebuie introduse o serie de date sumare, si pentru a avea siguranta ca nu ne lipseste nicio informatie ulterior vitala inregistrarilor noastre am pus cateva conditii:

- odata introduse datele in mod corect header-ul tabelului isi schimba culoarea, semn ca acele campuri au fost completate, si nu oricum, ci exact cu formatul dorit (CNP-ul cu nr corespunzator de catactere, nr. de telefon la fel, etc.)

CaptureItPlus635684302238162091

Odata terminata operatiunea de introducere a datelor trebuie afasat butoul portocaliu - acesta lanseaza un macro ce are in spate un script VBA care stie sa extraga acele date si sa le duca intr-un sheet numit pacienti database punand datele unele sub altele. Scriptul cu pricina stie sa identifice singur care este ultima linie nescrisa din sheetul amintit, astfel incat datele introduse sa nu se suprascrie unele pe celelalte.
Daca totul decurge normal - este firesc sa primesc si un mesaj de atentionare in acest sens. Tot scriptul VBA este raspunzator si de asta.

CaptureItPlus635684302358164408
CaptureItPlus635684302440470000

Dar ce se intampla daca din viteza de lucru uit sa completez un anumit camp, ca in exemplul de mai jos - nu am completat numarul de telefon. Vedeti deja ca header-ul tabelului are pe acea celula o alta culoare, de avertizare. Si totusi acum apas pe butonul portocaliu Insert in database

CaptureItPlus635684303354151589

Iata si mesajul de atentionare inclusiv banda rosie din partea de jos:

CaptureItPlus635684303481854054
CaptureItPlus635684303556259494

2. Acum, ca am introdus datele catorva pacienti in sistem, dorim sa introducem si informatii despre consultatie. Sa mergem in pagina special creata pentru asta:

Vedeti ca in partea de sus, imediat sub logo am posibilitatea sa caut pacientul pentru care vreau sa completez datele consultatiei in baza de date. Adica sa-l caut printre sutele, miile de inregistrari introduse anterior.
Si pot face asta cautand dupa nume sau CNP
Sigur, va ganditi ca nu am cum sa nimeresc exact numele lui printre mii de inregistrari, fiindca nu este unic asa cum este CNP-ul. Asa este, m-am gandit si la asta si tot ce trebuie sa faci este sa introduci numele in celula imediat de langa Cauta nume iar apoi in celula din dreapta va aparea un drop downlist cu toate intrarile continand prenumele ce corespund aceluiasi nume. 

Poate ca situatie vi se pare putin probabil de folosit in realitate, da nu stii niciodata, ganditi-va ce aplicabilitate ar avea pentru voi o astfel de modalitate de cautare.

CaptureItPlus635684303940602910

Eu voi face o cautare dupa CNP, si imediat dupa ce am introdus CNP-ul cautat sistemul imi gaseste datele: nume, prenume si id unic din sistem.

CaptureItPlus635684304209956099

Astfel incat acum pentru acest pacient pot introduce manoperele efectuate in vizita curenta, ca in exemplul de mai jos

CaptureItPlus635684304770934896

La final nu am decat sa apas butonul magic din partea dreapta care va lansa un executie un macro si un script VBA ce va scrie informatiile completate anterior intr-un sheet dedicat, de asemenea unele sub celelalte


CaptureItPlus635684304870444819

3. Cum spuneam la inceput, toate aceste informatii stocate nu ar avea nicio valoare daca nu le-am si putea regasi, utiliza mai tarziu. De aceea am nevoie acum sa reaesesc printre informatiile stocate anterior, toate consultatiile pentru un anumit pacient. Sa am practic acces la istoricul consultatiilor acestuia.

Ne ducem in pagina dedicata si incepem prin a cauta pacientul, folosind CNP, ca informatie unica de identificare.
Imediat introdus CNP - ul si apasat butonul Cauta sistemul gaseste automat toate datele pacientului, atat datele de identificare cat si istoricul consultatiilor.

CaptureItPlus635684305798958711

In partea stanga am lista cu vizitele anterioare, data introducerii acestora. Pot alege de la Select Data vizita pentru care doresc sa vad mai multe informatii, practic ce s-a intamplat atunci. Este un dropdown list in care am de ales una din exact lista de vizite inregistrate pentru acest pacienti - adica una din datele calendaristice de bub campul Data.

Odata selectata vizita dorita, am in partea dreapta tot ce am inregistrat atunci, avand in felul acesta acces instant la tot istoricul pacientului.


CaptureItPlus635684305713921060


CaptureItPlus635684306057095700

Asadar, aceasta este mini aplicatia despre care am vrut sa va povestesc.
Sigur ca odata create cheile unice de inregistrare, posibilitatile de stocare a datelor sunt nelimitate, de asemenea si cautarea lor pentru a putea fi folosite ulterior.

Alte domenii/aplicatii, doar trei exemple, in care ar putea fi folosite cu succes astfel de sisteme ma gandesc ca ar putea fi:

  • inregistrarea unor facturilor intr-o companie mica / mijlocie
  • inregistrarea cheltuielilor si a deconturilor
  • inregistrarea informatiilor legate de anumite evenimente organizate

Iata si unul dintre script-urile folosite:

Sub Summarize()

If Range("c11") = "1" Then

  MsgBox "PACIENTUL ESTE DEJA INTRODUS IN BAZA DE DATE"

  Exit Sub

End If

If Range("J9") <> "6" Then

  MsgBox "NU ATI COMPLETAT CORECT TOATE CAMPURILE; DATELE NU POT FI INTRODUSE"

  Exit Sub

End If

Range("b4:i4").Select

Selection.Copy

Sheets("pacienti database").Select

lMaxRows = Cells(Rows.Count, "F").End(xlUp).Row

Range("F" & lMaxRows + 1).Select

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _

False, Transpose:=False

Sheets("pacienti database").Select

ThisWorkbook.Sheets("Record pacienti").Activate

Range("b3:i3").ClearContents

MsgBox "Noua inregistrare a fost introdusa in baza de date"

End Sub


 © Success Consultancy 2013