Convertir automatiquement des CSV en XLS en tache de fond

Convertir automatiquement des CSV en XLS en tache de fond - VB/VBA/VBS - Programmation

Marsh Posté le 02-04-2015 à 14:25:49    

Bonjour à tous,  
Après avoir farfouillé sur le web sans succès je me suis dis que faire appel à des professionnels serait peut-être le plus simple !
Voici ma situation :
Je suis technicienne vidéo dans le milieu de l'audiovisuel. Dans le cadre d'un événement je dois récupérer des informations de score sportif en fichier xls (ou xlsx) pour pouvoir ensuite les intégrer à un système d'habillage graphique. Le soucis est bien évidemment que les générateurs de scores produisent des fichiers csv.
Les scores sont des informations de position de voiture par conséquent le fichier csv sera actualisé toutes les 10 secondes environ.
Il me faut donc un moyen technique pour qu'à chaque fois que le csv est actualisé il soit reconverti dans la foulée en xls ou xlsx (en écrasant le précédent fichier xls) le tout sans manipulation humaine.
J'avais pensé créer un script quel qu'il soit qui serait lancé par un watchfolder. Encore faudrait-il que ce script gère une macro excel ou une conversion automatique, le tout fonctionnant en tache de fond ou du moins sans apercevoir de fenêtre excel s’afficher intempestivement toutes les 10 secondes.
J'ai recherché des logiciels permettant de faire ce que je demande mais aucun du peu que j'ai trouvé ne gère cet aspect automatique ou "watchfolder".
 
Auriez vous une idée de comment dois-je m'y prendre ?
Au fur et à mesure de mes recherches j'ai cru comprendre que le script vbs ou vba (je ne connais pas le différence entre les deux d'ailleurs) serait la solution mais je ne connais quasiment en rien en programmation et suis complètement larguée.  
 
En résumé : Fichier.csv mis à jour toutes les 10 secondes ------>>> Fichier.xls  
où la flèche représente la moulinette magique qui fera tout le travail
 
Une idée pour me faire avancer ?
 
Merci d'avance pour vos lumières !

Reply

Marsh Posté le 02-04-2015 à 14:25:49   

Reply

Marsh Posté le 02-04-2015 à 23:02:00    

Si tu peux récupérer du csv directement et que ça change toute les 10 secondes, le tout dans un process automatisé.... t'a vraiment besoin d'un xls pour aller vers ton second outil? il ne prend pas nativement le CSV?
 
Par ce que le CSV est relativement optimal pour transférer des tableaux de données :/
 
Perso, je rêve d'avoir une source de donnée en CSV au lieu d'excel...
 
Sinon, la différence entre vbs et vba, c'est que :
le VBS (S pour script) n'as pas besoin d'avoir nécessairement d'un produit office pour fonctionner. ça se présente dans un fichier .vbs où tu tape ton code en utilisant la syntaxe du VB.
Le VBA (le A pour application) tourne dans le contexte d'une application (comme Excel/access/Project, etc,...)
 
en VBS, il me semble que ça donnerais un truc comme:

Code :
  1. Dim Ex As New Excel.Application
  2. Dim Wb As Excel.Workbook
  3. Ex.Visible = False
  4. Set Wb = Ex.Workbooks.Open(Filename:="file csv" )
  5. Wb.SaveAs "file destination.xls", xlExcel9795
  6. Wb.Close
  7. Set Wb = Nothing
  8. Ex.Visible = True
  9. Ex.Quit
  10. Set Ex = Nothing


edit: Mais ce que j'ai écrit ouvre puis ferme excel et je pense qu'en vbs il faudra utiliser une autre syntaxe autour des dims


Message édité par Arl Guhr le 02-04-2015 à 23:11:13

---------------
il s'appel le ronge me doute
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed