Macro pour transferer des données sur open office dans un fichier Excel

CHTING

XLDnaute Junior
Bonjour à toutes et à tous,

Comme l'indique mon titre, je souhaite savoir s'il est possible de transferer des données présentes dans un fichier Open Office vers un fichier Excel.
La subtilité supplémentaire est que je souhaite le faire à travers une macro du fichier Excel.

Pour plus de clareté je vous explique pourquoi.
Pour mon travail, j'utilise un logiciel de gestion de données qui m'extrait une quantité importante de donnée dans un fichier open office différent pour chaque extraction.

En parallèle, j'ai créé une macro qui me permet de trier toutes ces données et de les mettre dans un tableau sur EXCEL.
Mais pour cela, je dois passer par des manipulations fastidieuses.
En effet, je dois ouvrir le fichier par Open Office, je dois l'"enregistrer sous" en changant le type de fichier "Microsoft EXCEL 97/2000/XP.xls". Ensuite j'ouvre se nouveau fichier, je copie tout son contenu et le le colle sur mon fichier Excel qui contient ma macro (OUF :)).
POur info, j'ai essayer de copier directement d'office à Excel sans "enregistrer sous" mais les infos avec beaucoup de caractères n'apparaissent pas :(.

Voilà, je me pose donc la question de pouvoir automatiser ces étapes.
Sachant que dans l'idéale, j'aimerais avoir une macro qui m'ouvre une fenètre pour aller rechercher le fichier Open Office et qui me transfert donc ces infos dans mon fichier Excel.

Je suis désolé pour la taille du message mais j'éspère avoir été assez clair.
Je sais que Noêl approche et je crois encore au père Noêl :).

Par avance, Merci de m'éclairer sur la faisabilté de mon projet.

Bien cordialement
 

PMO2

XLDnaute Accro
Re : Macro pour transferer des données sur open office dans un fichier Excel

Bonjour,

Essayez le code suivant
Code:
Sub aa()
Dim MyOds As Variant
Dim WB As Workbook
'---
MyOds = Application.GetOpenFilename("Classeur OpenOffice (*.ods), *.ods")
If MyOds = False Then Exit Sub
Set WB = Workbooks.Open(Filename:=MyOds)
WB.Sheets(1).Copy Before:=ThisWorkbook.Sheets(1)
WB.Close
End Sub
 

Discussions similaires


Haut Bas