eclatement de fichier excel - VB/VBA/VBS - Programmation
MarshPosté le 05-12-2014 à 23:06:51
Bonsoir ,
J'ai besoin d'un coup de main pour mettre en place un code VBscript pour éclater un fichier excel , et renvoyer des pages d'un fichier vers d'autres fichier excel.
Je m'explique , j'ai un programme robot qui me télécharge un fichier données chaque semaine avec une dizaine d'onglets. Certains onglets ont des données brutes (environs 7000 à 9000 lignes de données brutes).
Le fichier Excel de départ est un fichier zippé qu'un programme a auparavant téléchargé et dézippé.
Ici on je coince c'est que je dois travailler depuis l’extérieur du fichier et non de l'intérieur.
En somme la chaine de traitement donne
1) fichier A.zip 2) fichier dézippé A.xls 3) fichier A.xls avec les onglets 1,2,3,4 ... 4) éclatement du fichier A en autant de fichier que d'onglets 5) onglet 1 donne fichier B , onglet 2 donne fichier C ...
Voici un bout de code que j'ai déjà "bricolé " , problème c'est du mixe de VBA et VB et je souhaite exclusivement du VBS ou VB.
[VB]sub eclateur_de_fichier()
dim classeur1 , classeur2, classeur3, classeur4, classeur5 dim feuille1 , feuille2 , feuille3 , feuille4 , feuille5 dim chemin1, chemin2, chemin3 dim requete1 , requete2 , requete3
chemin1 = "D:\fichier_a_eclater.xls" ' nom du fichier de depart a eclater
chemin2= "D:\rep_test\fichier_de_fin.csv" ' nom du fichier de destination ou ranger les feuilles
Set classeur1 = CreateObject("Workbook" ) ' creation du classeur1 avec un seul onglet
xlApp.SheetsInNewWorkbook = 1 ' on crée un seul onglet
'On créer l objet onglet dans le nouveau classeur créé
Set feuille1 = classeur1.Worksheets(1)
'On affecte un nom aux onglets
feuille1.Name = "DONNEES_TRANSIT"[/VB]
A noter également le code VB doit être exécuté à l’extérieur du fichier.
Marsh Posté le 05-12-2014 à 23:06:51
Bonsoir ,
J'ai besoin d'un coup de main pour mettre en place un code VBscript pour éclater un fichier excel , et renvoyer des pages d'un fichier vers d'autres fichier excel.
Je m'explique , j'ai un programme robot qui me télécharge un fichier données chaque semaine avec une dizaine d'onglets. Certains onglets ont des données brutes (environs 7000 à 9000 lignes de données brutes).
Le fichier Excel de départ est un fichier zippé qu'un programme a auparavant téléchargé et dézippé.
Ici on je coince c'est que je dois travailler depuis l’extérieur du fichier et non de l'intérieur.
En somme la chaine de traitement donne
1) fichier A.zip
2) fichier dézippé A.xls
3) fichier A.xls avec les onglets 1,2,3,4 ...
4) éclatement du fichier A en autant de fichier que d'onglets
5) onglet 1 donne fichier B , onglet 2 donne fichier C ...
Voici un bout de code que j'ai déjà "bricolé " , problème c'est du mixe de VBA et VB et je souhaite exclusivement du VBS ou VB.
[VB]sub eclateur_de_fichier()
dim classeur1 , classeur2, classeur3, classeur4, classeur5
dim feuille1 , feuille2 , feuille3 , feuille4 , feuille5
dim chemin1, chemin2, chemin3
dim requete1 , requete2 , requete3
chemin1 = "D:\fichier_a_eclater.xls" ' nom du fichier de depart a eclater
chemin2= "D:\rep_test\fichier_de_fin.csv" ' nom du fichier de destination ou ranger les feuilles
Set classeur1 = CreateObject("Workbook" ) ' creation du classeur1 avec un seul onglet
xlApp.SheetsInNewWorkbook = 1 ' on crée un seul onglet
'On créer l objet onglet dans le nouveau classeur créé
Set feuille1 = classeur1.Worksheets(1)
'On affecte un nom aux onglets
feuille1.Name = "DONNEES_TRANSIT"[/VB]
A noter également le code VB doit être exécuté à l’extérieur du fichier.
Merci de m'aiguiller