Microsoft 365 macro pour convertir des fichiers ods en xls

Coralie01120

XLDnaute Occasionnel
Bonjour le forum,

Je bloque sur un problème depuis un moment et je n'arrive pas à le résoudre.
J'ai plusieurs fichier en ods dont je souhaite extraire certaines infos dans un autre classeur pour faire une BDD.
Mes fichiers ods sont identiques et sont protégés par un mot de passe en feuil2. Les infos sont donc toujours dans les mêmes cellules.

A l'aide du forum j'ai une macro qui me permet de récupérer mes données... à condition que ce soient des fichiers en xls. Le fait que ma feuille soit protégée par un mdp et que les classeurs soient en ods ca ne fonctionne pas. Incompatibilité excel et ods...

Je souhaite donc convertir une très grande quantité de fichier ods en xls. Est ce faisable via une macro ?

Bonne soirée,
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Je viens de refaire le test, sous 2007 c'est ok.
Testez la PJ en dézippant et en lançant Coralie.xlsm.
Moi j'obtiens :
1614588590888.png

Les fichiers renommés ods/xls sont en colonne M.
( Evidemment les données sont bidon car n'ayant pas accès aux ODS j'ai pris des données aux hasard dans les fichiers. )
 

Pièces jointes

  • ODS.zip
    154.7 KB · Affichages: 10

sylvanu

XLDnaute Barbatruc
Supporter XLD
Coralie,
J'ai trouvé ça qui convertit plusieurs ods en xls.
Voir faites un CTRL+a dans votre dossier, ça sélectionne tous les fichiers et vous faites glisser dans ce site.
Et vous récupérez tous vos xls.
( Ca suppose qu'il n'y ait pas de données "sensibles" dans vos ods.
 

Coralie01120

XLDnaute Occasionnel
Bonsoir Sylvanu,

Difficile d’utiliser le convertisseur avec plus de 1000 fichiers...

J’arrive avec votre macro à convertir mes fichiers, cependant, j’ai toujours un message d’erreur...
« Le format et l’extension du fichier ne correspondent pas. Le fichier peut présenter un risque ou avoir été endommagé. Ne l’ouvrez pas à moins que la source soit fiable. Voulez vous quand même l’ouvrir ? »
Je ne m’en sors pas...
 

Staple1600

XLDnaute Barbatruc
Re

Non, ce que je veux dire c'est que si ton fichier *.ods est protégé par un mot de passe, on ne peut pas l'ouvrir dans Excel.
(C'est ce que j'ai compris en tout cas)
Donc il faudrait une macro sous LibreOffice (donc pas en langage VBA) qui ouvre les fichiers *.ods et les enregistre sous (mais sans mot de passe)

NB: Tu connais les mots de passe de ces fichiers ?
 

Coralie01120

XLDnaute Occasionnel
Re

Non, ce que je veux dire c'est que si ton fichier *.ods est protégé par un mot de passe, on ne peut pas l'ouvrir dans Excel.
(C'est ce que j'ai compris en tout cas)
Donc il faudrait une macro sous LibreOffice (donc pas en langage VBA) qui ouvre les fichiers *.ods et les enregistre sous (mais sans mot de passe)

NB: Tu connais les mots de passe de ces fichiers ?
Je vois. Ça se complique !
oui je connais le mot de passe
 

Staple1600

XLDnaute Barbatruc
Re

Dans le monde réel, on travaille rarement sur 1000 fichiers dans une semaine.
Donc, si j'étais moi, je réunis dans un dossier les principaux *.ods dont j'ai besoin et je les ouvre manuellement dans Libre Office et je fais un Enregistrer sous (sans mot de passe)
(et ou je supprime la protection appliquée sur les feuilles)
 

Coralie01120

XLDnaute Occasionnel
Re

Dans le monde réel, on travaille rarement sur 1000 fichiers dans une semaine.
Donc, si j'étais moi, je réunis dans un dossier les principaux *.ods dont j'ai besoin et je les ouvre manuellement dans Libre Office et je fais un Enregistrer sous (sans mot de passe)
(et ou je supprime la protection appliquée sur les feuilles)
Le but de cette macro était de récupérer dans des fichiers ods des données clients remontant à plusieurs années ... Enregistrer sous chaque fichier me prendrait beaucoup trop de temps. Je pensais que ça serait plus simple avec une macro. C’était sans compter sur la compatibilité ods et xls.
 

Staple1600

XLDnaute Barbatruc
Re

Tu peux joindre un "vrai" fichier *.ods protégé par mot de passe (mais anonymisé)
(Pour le joindre, tu le zippes au préalable et c'est le zip que tu joins)

(*): Je parle bien d'un fichier *.ods , pas d'un *.ods enregistré en *.xls
 

Coralie01120

XLDnaute Occasionnel
Bonjour Staple1600,

Voici un de mes fichiers. Pour info ils ont tous la même construction. Le mot de passe de la feuille protégée "Généralités" est "olivier".

A ouvrir avec LibreOffice sinon il y a un message d'erreur. Par défaut j'ai l'impression qu'il s'ouvre en Excel... Dis moi si tu peux l'ouvrir sinon je ne sais pas comment faire.
 

Pièces jointes

  • 41336 R XXXXXXX ctx_99.zip
    50.4 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Coralie, Staple,
J'ai bien peur que ce ne soit pas solvable sous XL.
La solution, je pense, serait sous LibreOffice d'avoir une "macro" permettant de lire tous les ods et de les écrire en xls.
Peut être un post dans Autres applications trouverais t il un bon samaritain.
 

Discussions similaires