Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Creazione gestionale dipendenti e tutti i suoi allegati

Ultimo Aggiornamento: 12/07/2017 13:02
Post: 1
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
04/07/2017 23:53

Salve,
stavo provando a creare un file Excel dove potevo gestire tutti i dipendenti che avevo, ho e che avrò.

Non sono stato capace neanche di iniziare il file perché NON SO DA DOVE INIZIARE!!! QUESTO E' IL PROBLEMA .


Vorrei che per ogni mio operaio posso segnare tutti i suoi dati anagrafici, dati bancari, contatti telefonici,data assunzione e conclusione contratto, la sua stessa foto ecc....

Il bello viene adesso:
come sapete per ogni dipendente si creano mille carte:
unilav, buste paghe, anticipi, report, segnalazioni, ecc.. quindi un vero proprio casino.
Allora avevo pensato di creare con Google drive tante cartelle quanti dipendenti ho, al suo interno creare 12 cartelle quanti mesi solari.
All'interno di queste cartelle inserire tutti i documenti formati .pdf e/o doc e/o jpg ecc...

ora vorrei tramite qualche funzione in Excel, vedere in base a quale operaio sto visualizzando, i documenti che ho in archivio, suddivisi per mesi e quando gli clicco sopra posso anche aprire il file originale.
Se ho da caricare qualche documento lo carico stesso da Excel con la funzione trascina e rilascia ed in automatico questo file lo ritrovo nella cartella prestabilita.
questi file che trascino e rilascio posso:
visualizzarli, rinominarli, cancellarli, spostarli dai vari dipendenti, duplicarli.

Quando un dipendente dovesse concludere il suo rapporto di lavoro con me io posso nasconderlo cosi non me lo ritrovo sempre davanti alle balls ma lo nascondo con tutti i suoi allegati, che se lo voglio rivedere basta che faccio un tasto con scritto vedi tutti.


Sapreste darmi una mano ?
Post: 3.329
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
05/07/2017 14:56

Re:
Ciao Danilo

Richiedere su di un forum la creazione di un gestionale completo è il modo migliore per non ricevere risposte (anche perché la tua richiesta non mi sembra delle più semplici).

Spetta all'utente proporre un proprio file con dati, spiegazione e risultato desiderato inserito a mano

danilo2003, 04/07/2017 23.53:


Non sono stato capace neanche di iniziare il file perché NON SO DA DOVE INIZIARE!!! QUESTO E' IL PROBLEMA .




E' proprio questo il problema; se tu vuoi utilizzare Excel come strumento per il tuo lavoro una conoscenza più o meno adeguata del programma la devi avere.

Poi sui punti che non riesci a risolvere puoi chiedere aiuto ma non pensare di avere tutto quanto.

Quindi se vuoi che qualcuno possa interessarsi al tuo problema fai come ti ho detto e poi si vedrà se e come andare avanti.


Alfredo
Post: 1
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
05/07/2017 15:04

alfrimpa hai perfettamente ragione.
Io ora sto provvedendo a creare diciamo il primo punto quella del gestionale dei dati...
appena l'ho concludo lo posto così posso condividerlo con tutti voi.
Post: 3.330
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
05/07/2017 15:09

Bene allora ti do un consiglio: prima di mettere mano al pc stendi il tuo progetto su carta dividendolo in tanti step.

Poi cerca di realizzare al pc uno step per volta e dove hai difficoltà chiedi aiuto sullo specifico punto.

Ma tu che conoscenze hai di Excel ed eventualmente del suo VBA?

Alfredo
Post: 3
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
05/07/2017 15:39

Diciamo che ho una conoscenza tutta personale...
Nel senso....

Conosco leggermente meglio i codici di Excel piuttosto che vba.
Preferisco graficamente ( perché mi ricordano anche se lontanamente a dei veri programmi) il vba.
La creazione dei form mi da massima libertà di estetica .
Come puoi vedere ho aperto una piccola discussione, in quanto non conosco l'espressione corrispondente della funzione = cerca.vert di vba.
come facevo prima:
Creavo un foglio di Excel sopranominato "opzioni"e/o "Info" e li facevo tutte le funzioni ( in modo molto spartano esteticamente)
Successivamente riportavo tutto su vba con la funzione textbox1.value= ...... oppure userform2.label15.caption eccc......
Oppure
Devo inserire dei dati all'interno di una riga facevo cosi:
nel foglio di appoggio di Excel usavo la funzione = max() per capire quale fosse la prima riga disponibile, successivamente il valore di max + 1 diventava su vba una variabile e di conseguenza utilizzavo come riga...
Per questo ho detto che ho una mia conoscenza tutta strana [SM=x423030]
Post: 4
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
05/07/2017 16:20

Questa è una piccola bozza di quello che ho fatto.... solo Grafica e pochissimo codice
Post: 3.332
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
05/07/2017 16:26

Il file allegato è completamente vuoto non c'è nulla.

Hai solo aperto una cartella nuova e l'hai salvata come dipendenti.xlsx

Ma c'erano userform?

Alfredo
Post: 6
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
06/07/2017 11:50

Effettivamente non l'ho specificato, si ho creato la userform 1 in sviluppo.
Post: 3.334
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
06/07/2017 13:56

Ma hai salvato il file come .xlsx quindi la userform si è persa.

Devi salvare come .xlsm (file con macro)

Alfredo
Post: 447
Registrato il: 29/03/2012
Città: VARESE
Età: 68
Utente Senior
2010
OFFLINE
06/07/2017 16:36

Ciao danilo2003,

a mio parere, per un Gestionale dovresti usare Access.
peppo

Excel 2010
Post: 8
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
06/07/2017 16:44

Il problema che io ed access non siamo riusciti a stringere amicizia......
Post: 3.335
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
06/07/2017 16:46

ciao Peppo è un piacere risentirti.

Condivido il tuo pensiero ma usare Access presuppone una sua conoscenza almeno di base e, come sai, non è una passeggiata.

Alfredo
Post: 3.336
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
06/07/2017 16:47

Re:
danilo2003, 06/07/2017 16.44:

Il problema che io ed access non siamo riusciti a stringere amicizia......



Lo supponevo, [SM=g27828]



Alfredo
Post: 9
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
06/07/2017 16:56

access vuole troppe relazioni ed io non amo le relazioni aperte [SM=x423063] [SM=x423030]
Post: 448
Registrato il: 29/03/2012
Città: VARESE
Età: 68
Utente Senior
2010
OFFLINE
06/07/2017 23:28

Ciao Alfredo,

per quanto ho capito del primo intervento di danilo2003 a lui interessa avere una anagrafica dei dipendenti e di poter aprire
i vari documenti per ogni dipendente. La proposta di usare Access sta nel fatto che dalla versione 2007 è possibile inserire uno o più Allegati (file di Excell, PDF, Immagini)per dipendente in modo tale da poter visionare, modificare il file.
Il file di Access sarà composto solo da una Tabella (Anagrafica)
e una Maschera.

peppo





peppo

Excel 2010
Post: 10
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
11/07/2017 19:36

Buongiorno Peppo, effettivamente il piano iniziale è quello di avere un'anagrafrica poi piano piano vorrei integrare altre schermate quale la compilazione dei contratti, i rinnovi, conteggi, tesserini ecc....
Pero una cosa alla volta.
Per ora ho fatto la gestione dei dati:
- AGGIUNGE UN DIPENDENTE
- LEGGE I DATI DI TUTTI I DIPENDENTI
- MODIFICA I DATI DI TUTTI I DIPENDENTI


Ora mancano la visualizzazione dei documenti, modifica ecc.....


Successivamente provo ad inserire il filtro degli dipendenti attivi e non... però sto ancora pensando come fare..
Secondo voi bisogna aggiungere qualche altro dato? per ora lo sto facendo per come mi serve ma vorrei impostarlo anche per poterlo pubblicare e farvelo sfruttare....
Post: 11
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
11/07/2017 19:36

Buongiorno Peppo, effettivamente il piano iniziale è quello di avere un'anagrafrica poi piano piano vorrei integrare altre schermate quale la compilazione dei contratti, i rinnovi, conteggi, tesserini ecc....
Pero una cosa alla volta.
Per ora ho fatto la gestione dei dati:
- AGGIUNGE UN DIPENDENTE
- LEGGE I DATI DI TUTTI I DIPENDENTI
- MODIFICA I DATI DI TUTTI I DIPENDENTI


Ora mancano la visualizzazione dei documenti, modifica ecc.....


Successivamente provo ad inserire il filtro degli dipendenti attivi e non... però sto ancora pensando come fare..
Secondo voi bisogna aggiungere qualche altro dato? per ora lo sto facendo per come mi serve ma vorrei impostarlo anche per poterlo pubblicare e farvelo sfruttare....
Post: 3.357
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
12/07/2017 11:12

Ciao Danilo

Ho dato uno sguardo al tuo file e la mia sensazione, perdona la franchezza, è che tu voglia costruire un'applicazione "professionale" senza avere le minime basi per poterlo fare o che comunque ti sia imbarcato in una faccenda più grande di te.

Detto questo vorrei fare alcune osservazioni:

• La userform che è inserita all’interno del file è troppo grande; io pur avendo un monitor da 21” non riesco a visualizzarla completamente a video né in Excel né nell’editor di VBA
• Ho visto che in nomi delle Textbox sono numerati a caso e ciò impedisce che si possa impostare un ciclo For Next sulle stesse (conosci l’uso dei cicli in VBA?)
• Le due combobox presenti non contengono nulla all’apertura della form; come fai a fare una scelta?
• La userform non ha una routine userform_Initialize dove occorre mettere tutto il codice necessario al corretto funzionamento della maschera in apertura (vedi ad esempio il popolamento dell combobox
• Ho visto che hai inserito anche dei controlli “MultiPage” ma anche questi senza VBA

Per quanto riguarda il codice mi spieghi a cosa servono queste routine poste nell’evento Change delle combobox?

vb
Private Sub ComboBox1_Change()
UserForm2.ComboBox1.AddItem "Attivo"
UserForm2.ComboBox1.AddItem "Disattivo"
End Sub


vb
Private Sub ComboBox2_Change()
UserForm2.ComboBox2.AddItem "Gennaio"
UserForm2.ComboBox2.AddItem "Febbario"
UserForm2.ComboBox2.AddItem "Marzo"
UserForm2.ComboBox2.AddItem "Aprile"
UserForm2.ComboBox2.AddItem "Maggio"
UserForm2.ComboBox2.AddItem "Giugno"
UserForm2.ComboBox2.AddItem "Luglio"
UserForm2.ComboBox2.AddItem "Agosto"
UserForm2.ComboBox2.AddItem "Settembre"
UserForm2.ComboBox2.AddItem "Ottobre"
UserForm2.ComboBox2.AddItem "Novembre"
UserForm2.ComboBox2.AddItem "Dicembre"
End Sub


Quest’altro codice è assolutamente “inguardabile”

vb
Private Sub CommandButton2_Click()
'negativo
If Sheets("opzioni").Range("a2") = 1 Then
Sheets("opzioni").Range("a2") = 1
Else


Sheets("opzioni").Range("a2").Value = Sheets("opzioni").Range("a2") - 1

Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;2;FALSO)"
UserForm2.TextBox2.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;3;FALSO)"
UserForm2.TextBox3.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;4;FALSO)"
UserForm2.TextBox4.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;5;FALSO)"
UserForm2.TextBox5.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;6;FALSO)"
UserForm2.TextBox6.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;7;FALSO)"
UserForm2.TextBox7.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;8;FALSO)"
UserForm2.TextBox8.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;9;FALSO)"
UserForm2.TextBox9.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;10;FALSO)"
UserForm2.TextBox10.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;11;FALSO)"
UserForm2.TextBox11.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;12;FALSO)"
UserForm2.TextBox12.Value = Sheets("opzioni").Range("b2")

Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;13;FALSO)"
UserForm2.TextBox13.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;14;FALSO)"
UserForm2.TextBox14.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;15;FALSO)"
UserForm2.TextBox16.Value = Sheets("opzioni").Range("b2")

Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;16;FALSO)"
UserForm2.TextBox17.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;17;FALSO)"
UserForm2.TextBox18.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;18;FALSO)"
UserForm2.TextBox19.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;19;FALSO)"
UserForm2.TextBox20.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;20;FALSO)"
UserForm2.TextBox21.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;21;FALSO)"
UserForm2.TextBox22.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;22;FALSO)"
UserForm2.TextBox23.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;23;FALSO)"
UserForm2.TextBox24.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;24;FALSO)"
UserForm2.TextBox1.Value = Sheets("opzioni").Range("b2")
Sheets("opzioni").Range("b2").FormulaLocal = "=CERCA.VERT(A2;Database!A:Z;25;FALSO)"
UserForm2.ComboBox1.Value = Sheets("opzioni").Range("b2")


End If

End Sub


Come dicevo prima con un ciclo For Next puoi ridurre il codice da 50 a 5 righe e tral’altro non si capisce bene neanche cosa faccia (se ho capito bene il popolamento delle textbox sulla userform)

E qui mi fermo anche se forse potrei continuare.

A mio modesto avviso se ti serve un “gestionale” serio dovresti provvedere a procurartelo sul mercato (non credo sia difficile trovarne uno adatto alle tue esigenze) e poi se proprio vuoi crearlo tu dovresti iniziare a studiare un po’ il VBA che come tutte le lingue/linguaggi non si improvvisa.

Infine ultima considerazione: tu dici che non vuoi usare Access ma secondo me sarebbe perfetto per questo tipo di applicazioni.

Alfredo
Post: 12
Registrato il: 04/07/2017
Città: NAPOLI
Età: 21
Utente Junior
2015
OFFLINE
12/07/2017 12:10

Si l'ammetto, il progetto è molto spartano.
In access so creare solo le maschere ma quando si tratta di macro e relazioni li veramente non ne capisco nulla.

* Il codice della combobox che si attiva al cambio l'ho messo d'appoggio perché dovrà andare in funzione quando si aprirà la userform.(questo so farlo )..

* Il fatto della grandezza del monitor l'ho notata anche io, il form l'ho creato in base al monitor del mio pc fisso mentre quando apro il file sul portatile è un disastro. Però questo già sto studiando per come fare degli autosize.

* Ad essere onesto conosco il ciclo for però non pensavo che si potesse utilizzare per le textbox. Io di solito lo utilizzo per dire scrivi nelle prime 10 righe questa parola ecc...


*Essendo che non ho capito come funziona il codice di vlookup ho pensato di inventarmene uno tutto mio e sembra funzionare!! Il codice inguardabile ( giusto che sia così per voi esperti ma per me neofita è un invenzione stratosferica! [SM=x423026] )
come funziona:

- nel foglio opzioni uso una cella d'appoggio dove viene scritta la riga da cercare, in automatico lui guarda la riga e crea un cerca.vert il valore che gli esce fuori lo copia nella textbox giusta e così via.

- Multipage li veramente non conosco il codice peggio di access. Dovrebbe elencare dei documenti, aggiungerli, eliminarli ecc.....

Ho cercato e provato numerosi gestionali in giro, principalmente opensource, ma non sono mai riuscito a trovarne uno adatto.
Perciò ho deciso di inventarne uno mio per poi dare la possibilità a chiunque come me ne avesse bisogno di sfruttarlo gratuitamente.

-








Post: 3.358
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
12/07/2017 12:26

Ciao Danilo

Capirai bene che realizzare una cosa del tipo che hai in mente è veramente complicato tanto più se non si hanno delle conoscenze di VBA quanto meno discrete.

Se non hai trovato nulla in giro che in giro che soddisfi le tue esigenze dovresti provare ad individuare un qualche "professionista" che realizzi un applicativo tagliato "su misura" per te.

Secondo me non puoi pensare di trovare su un forum (i cui frequentatori sono solo appassionati e non professionisti) qualcuno che realizzi tutto quanto per te e aggiungo (senza polemica) anche gratis.

Comunque, se vuoi provare a farlo tu, ti consiglio di "spezzettare" (sulla carta) il tuo progetto in tanti step più semplici da affrontarli uno alla volta magari chiedendo aiuto qui sul forum.

Comincia con il costruire un database (tabella) di 4/5 colonne ed una maschera con 4/5 textbox e su quello inizia a fare le prime prove; se incontri difficoltà/inghippi puoi chiedere aiuto qui e chiunque che sia in grado di rispondere sarà ben felice di farlo.

Insomma tu hai creato una "Ferrari" e vuoi farla andare ad acqua?

Prima di correre bisogna saper camminare [SM=g27828]

P.S. Munisciti di un buon manuale di VBA di Excel e comincia a studiare perché la strada sarà lunga.

PP.SS. A questo link trovi un corso di VBA veramente ben fatto e per te può essere un'ottima base di partenza

http://forum.wintricks.it/showthread.php?t=155252

Alfredo
Post: 3.359
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
12/07/2017 13:02

Danilo giusto per darti uno spunto (ma è solo questo) ti allego un file dove ho creato una semplice tabella sul foiglio1, una userform con una combo ed una textbox

Sul foglio1 c'è un pulsante che visualizza la maschera.

Nel momento in cui nella combo scegli un valore le textobx si popoleranno del relativi dati presi dalla tabella.

Questo il codice

vb
Private Sub UserForm_Initialize()
Dim i As Integer
Dim Ur As Integer
Ur = Sheets("Foglio1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To Ur
    Me.ComboBox1.AddItem Range("a" & i).Value
Next i
End Sub


Questa macro serve a popolare la combo dei valori presenti in colonna A dalla riga 2 sino all'ultima cella piena.

Questa invece popola le textbox in base alla scelta fatta nella combo

vb
Private Sub ComboBox1_Change()
On Error Resume Next
Dim i As Integer
Dim rng As Range
Set rng = Sheets("Foglio1").Range("A2:e5")
For i = 1 To 4
    Me.Controls("TextBox" & i).Value = Application.WorksheetFunction.VLookup(CInt(Me.ComboBox1.Value), rng, i + 1, False)
Next i
End Sub

Alfredo
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 02:38. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com