Le 21/04/2011 15:21, Jean-Baptiste Faure a écrit : > Bonjour, > > Une doctorante de chez nous a 2800 fichiers xls dont elle a besoin > d'extraire un certain onglet (elle en connait le nom) sous la forme d'un > fichier csv.
Bonjour, Merci pour vos réponses. Le problème est résolu et nous avons 2 approches pour le faire. C'est plus sûr. :-) En réalité j'ai oublié un détail : le résultat final attendu suppose une étape supplémentaire car il faut regrouper tous les fichiers csv produits en un seul en les concaténant. Autre détail qui n'est effectivement pas sans importance : notre doctorante travaille sous Linux et n'a pas MS-Excel sur son poste de travail. - méthode 1 : utiliser xls2csv de façon à conserver proprement les heures, utiliser un script shell à base de awk et sed pour séparer les onglets et corriger les dates (toujours les mêmes dans un même onglet) à partir du nom de fichier, concaténer les fichiers tout en procédant à un petit nettoyage : shell avec cat et sed. - methode 2 : utiliser batchconv modifié par Laurent Godard pour extraire l'onglet voulu de tous les fichiers xls du répertoire. Concaténer les fichiers csv obtenus comme avec la méthode 1. La méthode 1 fonctionne presque parfaitement (des erreurs de nettoyage) mais en 2 bonnes heures. La partie batchconv de la méthode 2 fonctionne parfaitement. Je ne l'ai pas encore testée sur les 2800 fichiers xls. Il me reste à bien comprendre la macro que m'a fournie Laurent, à isoler le script de concaténation et à faire un test en vrai grandeur. Avant de l'appliquer à un autre stock de fichiers encore plus volumineux :-) Je mettrai le code ici dés que je l'aurai compris. :-) Mais toutes les infos nécessaires sont expliquées dans le bouquin de Laurent et Bernard (Programmation OpenOffice.org et LibreOffice chez Eyrolles). Cela pourrait peut-être donner une nouvelle version étendue de batchconv avec cette option du choix de l'onglet à extraire lors de l'export en csv. Bonne journée JBF -- Seuls des formats ouverts peuvent assurer la pérennité de vos documents. -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés