Comment synchroniser le même classeur Excel entre 2 ordinateurs sur le même réseau

-1

J'ai besoin d'aide avec ceci s'il vous plaît.

J'ai un classeur d'entrée dans lequel les données de produit sont entrées et un classeur de sortie (Rapport) dans lequel ces données sont copiées sur une seule ligne à l'aide de macros vba.

La chose est que je dois utiliser cette application sur 2 ordinateurs différents sur le même réseau. Je souhaite que les deux ordinateurs utilisent des classeurs d'entrée indépendants et puissent copier les données d'entrée sur un seul classeur de sortie (Rapport).

En d'autres termes, je souhaite synchroniser ce classeur de sortie entre 2 ordinateurs afin qu'il puisse afficher les données saisies par les deux ordinateurs.

Est-ce seulement possible? Je suis nouveau dans ce domaine, je ne sais même pas par où commencer, donc toute suggestion ou conseil est le bienvenu. Merci d'avance..

Edit: C'est le code que j'ai réussi à écrire. Sachez que je suis novice dans le codage de lmao, je suis sûr que ce n’est pas parfait, mais cela fonctionne bien.

Sub GrabarAbono()

Dim NumAnticipo As Long
Dim Fecha As Date
Dim Cedula As Long
Dim Nombre As String
Dim Total As Double
Dim UltimaFila As Long

Dim Anticipos As Range
Set Anticipos = Worksheets("Anticipo").Range("A7", Range("C6").End(xlDown))

UltimaFila = Worksheets("Reporte Ant.").Range("A" & Rows.Count).End(xlUp).Row
NumAnticipo = Worksheets("Anticipo").Range("B1").Value
Fecha = Worksheets("Anticipo").Range("B2").Value
Cedula = Worksheets("Anticipo").Range("B3").Value
Nombre = Worksheets("Anticipo").Range("B4").Value
Total = Worksheets("Anticipo").Range("C" & Rows.Count).End(xlUp).Value

'Imprimir
Worksheets("Anticipo").PrintOut Preview:=True


'Transferir Datos
Anticipos.Copy (Worksheets("Reporte Ant.").Range("E" & Rows.Count).End(xlUp).Offset(1))

Worksheets("Reporte Ant.").Activate

Range("E" & UltimaFila).Offset(1).Select

Do Until ActiveCell.Value = ""

    Worksheets("Reporte Ant.").Range("A" & Rows.Count).End(xlUp).Offset(1) = NumAnticipo
    Worksheets("Reporte Ant.").Range("B" & Rows.Count).End(xlUp).Offset(1) = Fecha
    Worksheets("Reporte Ant.").Range("C" & Rows.Count).End(xlUp).Offset(1) = Cedula
    Worksheets("Reporte Ant.").Range("D" & Rows.Count).End(xlUp).Offset(1) = Nombre
    ActiveCell.Offset(1).Select
Loop

'Protect
Worksheets("Anticipo").Protect 
End Sub
Christian Andres
la source
Veuillez afficher le code de la macro vba existante qui fonctionne pour votre classeur à entrée unique.
Rey Juna
Est-ce seulement possible? En général, c'est impossible. Imaginez - le fichier est ouvert et corrigé simultanément sur les deux stations. La station qui sauvegarde son travail plus tard annulera toutes les modifications insérées par une station ayant enregistré son travail plus tôt.
Akina

Réponses:

0

Pour utiliser des classeurs d'entrée indépendants et pouvoir copier les données d'entrée sur un seul classeur de sortie (Rapport) sur le même réseau, procédez comme suit:

Option 1:

  • Rendre le dossier Sharable & amp; stocker l'ENTRÉE Cahier de travail là-bas.
  • Editez votre code VB et ajoutez cette ligne pour ouvrir le WB.

Workbooks.Open Filename:="DriveLetter:\Path\Filename.xlsm"

  • Ce code doit être suivi du reste des lignes de procédure.

Option 2:

Créez cette macro & amp; magasin en tant que module standard:

Private Sub RunfromServer()

Dim wb As Workbook
Dim MyFile As String
Dim MyPath As String
MyPath = MyPath = "\\MYServer\ShareFolder\My Folder\"

MyFile = Dir("Filename.Xlsm")


Do While MyFile <> ""
Set wb = Workbooks.Open(MyPath & MyFile)


*Your code here*


  wb.Close SaveChanges:=True
  MyFile = Dir
Loop

 End Sub
  • Faites autant de copies que vous avez besoin de votre VBA (Macro) & amp; Exécutez-le à partir de différents ordinateurs.
Rajesh S
la source
Heureux de vous aider @Christian ,, continuez à demander. ☺
Rajesh S