Gestion multi classeurs

Bonjour ,

J'aurais besoin de vos lumières pour créer plusieurs fichiers.

il y a 40 fichiers identique sur 40 postes différents qui serviront a passer une commande et un fichier "Maitre" qui servira à recevoir toutes les commandes qui restera toujours ouvert.(Le tout est sur réseau)

Comment feriez vous pour rassembler tout ces données dans le fichier "maître"sans interférences ?

J'avais pensé faire des relations et des les actualiser avec les mises a jours de données toutes les X minutes.

J'ai peur que cela devient lourd lorsque qu'il y aura beaucoup de commandes.

Vous en pensez quoi? Ou est ce que vous avez une autre solution adaptée à me proposer ?

Merci d'avances

Hello,

Tu peux faire des liaisons comme tu as dit, avec 40 feuilles de calcul. Chaque feuille serait liée à un fichier. A Tester pour la voir les performances.

Sinon, un script VBA dans le michier maitre, qui va aller lire les données de chaque fichier. 40 fichiers ça se fait rapidement.

R@g

Merci de votre retour.

Avec le script VBA cela ne pose pas de problème si certains fichiers soient ouverts ou certains fermés?

C'est pour cela que je me suis posé la question s'il ne valait pas mieux utiliser des liaisons.

Non pas de soucis, les données seront récupérées au dernier enregistrement qu'ils soient fermés ou ouverts.

Les fichiers sont tous dans le même dossier ?

Oui tous les fichiers sont dans le même dossier.

Généralement j'ouvre le fichier et je copie et colle les données et je referme. Quel méthode utilisez vous?

Auriez vous un exemple ?

Un exemple basique qui récupère la plage A1 à B4 de la feuille 1 de chaque fichier et le stock dans un ficher maitre :

Sub RecupFichiers()
Dim Chemin As String, Fichier As String
Dim i As Long

Chemin = "C:\Tondossier\"
Fichier = Dir(Chemin & "*.xlsx")

i = 1
Do While Len(Fichier) > 0
    Workbooks.Open Chemin & Fichier, , True
    ActiveWorkbook.Sheets(1).Range("A1:B4").Copy ThisWorkbook.Worksheets(1).Range("A" & i)
    Application.CutCopyMode = False
    ActiveWorkbook.Close False
    i = ThisWorkbook.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row + 1
    Fichier = Dir()
Loop
End Sub

R@g

Merci je vais tester cela ... Je pensais que cela poser problème si les fichiers sont ouverts.

Merci en tout cas d'avoir pris de votre temps

Bonjour,

Mais comme les fichiers sont identiques, il serait peut-être préférable d'avoir un code commun sur chacun de ces fichiers qui dit que : dès qu'un commande est validée, on envoie les infos au fichier maître automatiquement...

Cdlt,

Rechercher des sujets similaires à "gestion multi classeurs"