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
la source
Réponses:
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:
Workbooks.Open Filename:="DriveLetter:\Path\Filename.xlsm"
Option 2:
Créez cette macro & amp; magasin en tant que module standard:
la source