Página 1 de 1

Copia de dados entre diversos ficheiros

Enviado: 12 Fev 2020 às 07:24
por tiagooliveira20
Pessoal é o seguinte, tenho um ficheiro que fiz com macros para login para registar as horas e a obra correspondente em que cada funcionário da empresa esteve a trabalhar, no entanto agora deparei-me com um problema e estou a tentar resolver.

Basicamente para isto funcionar bem, os funcionários têm que ter o ficheiro aberto o dia todo, para irem registando em que se encontram a trabalhar, o ficheiro encontra-se no servidor da empresa, mas quando um funcionário abre no seu pc o ficheiro o segundo que abrir vai receber a notificação de ficheiro bloqueado para edição por já estar aberto noutro computador.

Administrativamente dava jeito ter todos os funcionários no mesmo ficheiro para depois numa folha de cálculos que só a administração tem acesso fazer-mos os diversos cálculos pretendidos, então a minha ideia era a seguinte:
Copiar o ficheiro "Principal" e fazer cópias exactamente iguais do ficheiro com o nome de cada funcionário, manter os macros com login para que cada um possa aceder apenas e só à sua folha. Todos os ficheiros estarão na mesma pasta do Servidor, e a ideia seria conforme cada funcionário fosse preenchendo a sua folha, automaticamente replicar o que ele preencheu no ficheiro "Principal" para quando a Administração aceder ao ficheiro principal tenha lá todos os dados que todos os funcionários preencheram no seu ficheiro.

Isto é possível? Deixo em anexo o ficheiro principal, login "Admin" Pass "ADM"

Re: Copia de dados entre diversos ficheiros

Enviado: 15 Fev 2020 às 17:56
por topscore
Tiago, nem olhei seu arquivo, pois já sei o que você quer.
Seu ficheiro principal é um Banco de dados em xlsx. Todos outros arquivos são interfaces para cada funcionário (Folha horas 1.xlsm, Folha horas 2.xlsm, etc).
Cada funcionário abre uma delas, preenche o que precisar e, quando aperta um botão "Gravar", (que você vai colocar), a Macro abre o "Banco de dados.xlsx" no servidor, escolhe a aba do funcionário que fez aquele login, preenche os dados que ele acabou de inserir na "Folha Horas 6.xlsm", por exemplo, salva e fecha o banco de dados, volta para a Folha horas.

A Administração usará também uma interface (Folha horas 10.xlsm). Porém, com um login administrativo, poderá apertar o botão "Atualizar", que você deve colocar. Esse comando abrirá o "Banco de dados.xlsx" no servidor, copiará todos os dados de todas as abas dos funcionários(que eles "gravaram"), e trará para o "Folha horas 10.xlsm", da maneira que você definir. Depois fecha o Banco de dados e volta à interface.

Já te adianto que não vai ser resolvido aqui, pois envolve muito, muito VB, inclusive procedimentos para evitar erros, um funcionário gravando ao mesmo tempo que outro, e muitos outros.
Sugiro procurar por "excel banco de dados" no fórum avançado.
Se quiser mesmo aprender:
https://www.youtube.com/watch?v=WvezXR2sKkY

Curso Excel VBA - Módulo 3 - Trabalhando de Forma Multi-Usuária aula 01

Se inscreva no canal do cara, é excelente. Aprendi a fazer isso com ele, e é exatamente o que você quer. Ele vai devagar, muuuito devagar, mas não tem como você não aprender.