Batch et macro

lionelo

XLDnaute Nouveau
Bonjour à tous,

Je souhaiterais automatiser une procédure qui consiste à supprimer automatiquement des colonnes d'un fichier excel. Plus précisément, j'ai un fichier excel que je télécharge tous les jours et qui correspond à une base de données qui augmente de jour en jour. Je souhaite la charger dans le logiciel R et afin d'alléger la lecture des données, je souhaite enlever les n dernières colonnes. De plus, afin de rendre la procédure vraiment automatique, j'espérais le faire en batch. Pour l'instant, je télécharge bien le fichier avec la commande wget et ensuite mes recherches ont abouti au code suivant :

"C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" /cmd/suppression_colonnes "C:\Users\Prenom\Documents\macro_excel\fichier_excel_downloaded.xlsx"

suppression_colonnes correspond à la macro suivante :
Sub
Sheets("Feuil1").Range("BO:CM").Delete
End Sub

Le problème c'est lorsque je passe cette commande en batch, à part ouvrir le fichier excel rien ne se passe. Je pense que le souci vient du lieu où j'enregistre la macro...mais comme c'est la première fois que je m'aventure dans ce domaine, je ne suis pas sûr.

Si quelqu'un avait la gentillesse de m'aider.

Merci beaucoup

Lionel
 

tbft

XLDnaute Accro
Re : Batch et macro

bonjour

a part les problemes d'autorisations, il faut uilitser les événements comme ouverture du fichier

dans l'éditeur de macro-> microsoft excel objet (la ou il y a toutes les feuilles du classeur)-> ourvrir la derniere thisworkbook
et utiliser la macro "Private Sub Workbook_Open()" pour lancer la ou les macros
 

camarchepas

XLDnaute Barbatruc
Re : Batch et macro

Bonjour Lionelo,

Utilisation du planificateur de tâche windows ,

Lancement d'un fichier de macro pilotant l'ensemble des opérations sur un ou plusieurs fichiers .

Attente éventuelle de présence fichier du jour

Extraction de l'information,

Epuration,

Calcul et mise en forme.

Sauvegarde éventuellement Horodatée

Mise à disposition si besoin sur serveur ou système documentaire

il est toujours sympa d'avoir un système de fichier log permettant d'enregistrer les opérations réalisées au fil de l'eau .

Permet de plus vite comprendre et cerner une anomalie.


Voilà de façon schèmatique .

Cordialement
 

lionelo

XLDnaute Nouveau
Re : Batch et macro

Pour l'instant cela ne marche pas. Le fichier s'ouvre mais la macro ne s'exécute pas. Voilà le contenu de la macro :

Private Sub Workbook_Open()
Sheets("Feuil1").Range("BO:CM").Delete
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\Lionel\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB", _
FileFormat:=xlExcel12, CreateBackup:=False
ActiveWindow.Close
End Sub

Peut être que je l'ai enregistré au mauvais endroit ?
 

lionelo

XLDnaute Nouveau
Re : Batch et macro

J'ai 2 racines présentes : VBAProject (avec le nom de mon fichier excel) et VBAProject (personal.xlsb). ThisWorkbook est présent dans les 2 mais comment savoir auquel appartient la macro et dans quel sous-dossier elle est enregistrée ?
Merci
 

Discussions similaires

Réponses
5
Affichages
208
Réponses
6
Affichages
193