Bonjour à tous,
J'ai créé le code ci-dessous qui aurait dû me permettre à partir de fichiers source de remplir le fichier cible ci-joint.
[
Sub recup_donnees()
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER_TD").Range("B6:H5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("a2")
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER_MG").Range("F6:F5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("I2")
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("A2", Range("A2").End(xlDown)).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("A2:A5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees Template()").Range("E5")
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("B2:B5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees Template()").Range("B5")
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("C2:C5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees Template()").Range("D5")
Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees Template()").Range("A5:EG5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees update").Range("A2")
Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees update").SaveAs Filename:="Employees update", FileFormat:=xlCSV
Workbooks("Employees update").Close False
Application.DisplayAlerts = True
Workbooks("Liste des salariés v1.xlsm").Close False
End Sub
]
Dans l'absolu, j'aurais aimé :
- enregistrer l'onglet "Employees update" dans le même dossier que le fichier cible mais il est enregistré dans "c:/documents".
- qu'Excel écrase systématiquement la dernière version existante en .csv de la feuille "Employees update" en la remplaçant par la nouvelle sans modifier mon fichier cible ("Liste de salariés v1")
- après avoir enregistré la version .csv (avec séparateur point virgule), l'enregistrer sous le même nom mais en version .txt
Le but final étant d'envoyer ce fichier .txt vers un serveur ftp sécurisé (que l'éditeur de logiciel ne m'a pas encore transmis), je reviendrai surement vers vous plus tard (il parait qu'on ne change pas une équipe qui gagne mais je regarderai avant si je ne peux me débrouiller seul).
Un gros merci par avance parce que j'avance plus là
Karim
J'ai créé le code ci-dessous qui aurait dû me permettre à partir de fichiers source de remplir le fichier cible ci-joint.
[
Sub recup_donnees()
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER_TD").Range("B6:H5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("a2")
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER_MG").Range("F6:F5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("I2")
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("A2", Range("A2").End(xlDown)).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("A2:A5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees Template()").Range("E5")
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("B2:B5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees Template()").Range("B5")
Workbooks("Liste des salariés v1.xlsm").Worksheets("_DATA_MASTER").Range("C2:C5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees Template()").Range("D5")
Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees Template()").Range("A5:EG5000").Copy Destination:=Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees update").Range("A2")
Workbooks("Liste des salariés v1.xlsm").Worksheets("Employees update").SaveAs Filename:="Employees update", FileFormat:=xlCSV
Workbooks("Employees update").Close False
Application.DisplayAlerts = True
Workbooks("Liste des salariés v1.xlsm").Close False
End Sub
]
Dans l'absolu, j'aurais aimé :
- enregistrer l'onglet "Employees update" dans le même dossier que le fichier cible mais il est enregistré dans "c:/documents".
- qu'Excel écrase systématiquement la dernière version existante en .csv de la feuille "Employees update" en la remplaçant par la nouvelle sans modifier mon fichier cible ("Liste de salariés v1")
- après avoir enregistré la version .csv (avec séparateur point virgule), l'enregistrer sous le même nom mais en version .txt
Le but final étant d'envoyer ce fichier .txt vers un serveur ftp sécurisé (que l'éditeur de logiciel ne m'a pas encore transmis), je reviendrai surement vers vous plus tard (il parait qu'on ne change pas une équipe qui gagne
Un gros merci par avance parce que j'avance plus là
Karim