IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

créer un lien externe avec libreoffice


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut créer un lien externe avec libreoffice
    salutations ,

    Je dois créer des liens avec une feuille de calcul libreoffice car je dois récupérer des données pour Excel situées dans une feuille de calcul libreoffice qui est dans un autre répertoire .

    J'ai cherché dans de nombreux endroits, mais je n'ai pas pu créer de lien vers une feuille de calcul libreoffice située dans un autre répertoire.

    Je dois récupérer les données de libreoffice dans une feuille de calcul Excel, en gardant à l'esprit que les deux feuilles de calcul se trouvent dans des répertoires différents.

    Je suis reconnaissant d'avance pour toute l'aide .

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Je ne connais pas LibreOffice et j'ignore si Excel peut en lire le contenu. Une astuce: Transformer le fichier LibreOffice en un fichier XL pour pouvoir le traiter. Voici un exemple qui transforme un fichier XLSB en format XLSM.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            If Right(votreNomDeFichier, 4) = "xlsb" Then          'votreNomDeFichier = nom du fichier LibreOffice
                On Error Resume Next
                NewFileName = Left(votreNomDeFichier, InStr(1, votreNomDeFichier, ".") - 1) & ".xlsx"
                Workbooks.Open Filename:=filePath & votreNomDeFichier      'filePath = votre répertoire + "\"
     
                ActiveWorkbook.SaveAs Filename:=filePath & (NewFileName) _
                    , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
                ActiveWindow.Close
            Else
                SetAttr filePath & votreNomDeFichier, vbNormal
                'Kill filePath & votreNomDeFichier    'à décommenter, si vous voulez supprimer l'ancien fichier
            End If

  3. #3
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Complément d'info trouvé sur : https://fr.wikipedia.org/wiki/Calc_(tableur)

    OOo Calc travaille en standard au format OpenDocument, en XML. La version 1 travaillait au format sxc, également en XML. Il sait importer et exporter des données aux formats Excel (xls), dBase (dbf), MySQL, Data Interchange Format (dif), Hypertext Markup Language (html), ou texte ASCII (txt). Il permet également d'exporter au format Portable Document Format (pdf) sans nécessiter de programme de conversion du commerce.

    Cependant, ses macros étant assez éloignées de celles d'Excel, il faut songer à une réécriture quasi complète du code si on veut en importer depuis un autre format de fichier que le format sxc ou ods.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    salutations Zekraoui_Jakani ,

    pour convertir le fichier libreoffice en XL, la macro doit être installée dans le VB libreoffice .

    mon problème est que j'ai besoin de récupérer les données de plusieurs fichiers libreoffice à partir d'un client , ce client n'utilisant que libreoffice, il est donc encore plus difficile de convertir les fichiers en XL .

    ma tâche ici est de créer une formule de lien permettant d'extraire des données de fichiers libreoffice vers Excel .

    ces fichiers sont dans un autre répertoire .

  5. #5
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Si vous avez bien lu le code proposé, vous verrez que la macro doit être écrite dans XL: c'est l'explorateur de fichiers qui traite le document LibreOffice, en change l'extension et l'enregistre sous format XL Dès lors, ce document devient lisible et exploitable pour XL Il suffit de remplacer "xlsb" dans le code ci-dessus par la bonne extension LibreOffice.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    J'ai trouvé un modèle de macro pour créer la connexion Excel à libreoffice ici

    mais je ne sais toujours pas si cela fonctionne vraiment, je ne pouvais pas comprendre ce code vba ?

    pouvez-vous s'il vous plaît vérifier si cette macro se connecte vraiment avec libreoffice ? peut-être que cette macro peut être mieux ajustée pour créer le lien ?

  7. #7
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Je ne peux pas le tester puisque je n'ai pas LibreOffice sur mon pc ! vous, par contre, oui.
    Il suffit de le tester sur une copie d'un seul fichier.

    Je vous recommande de tester mon code également sur ce même fichier test, mais rappelez-vous de remplacer l'extension "xlsb" par "LCK".

  8. #8
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    J'ai installé votre macro dans un exemple de fichier excel, mais cela n'a pas fonctionné .

    extension libreoffice est .ods
    nom de fichier libreoffice est "libre"

    suit mon fichier excel ci-joint .
    Fichiers attachés Fichiers attachés

  9. #9
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Votre code est incomplet !!
    Par défi, j'ai dû installer LibreOffice, créer un document "Libre.ods" et adapter le code vba dans votre fichier xl (en annexe)
    ça a très bien fonctionné. Respectez les instructions dans la feuille "
    Fichiers attachés Fichiers attachés

  10. #10
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    salutations Zekraoui_Jakani,

    Je tiens à vous remercier pour votre dévouement et vos efforts pour m'aider .

    en ce qui concerne votre macro, les événements suivants se produisent:

    elle crée correctement l'extension .ods en .xls mais ne conserve pas le les caractéristiques d'origine du fichier qui a été converti .

    la macro ne génère qu'une copie du fichier XL que vous avez joint au message précédent .

    La macro crée le fichier .xls dans le répertoire correct et avec le nom correct, mais génère uniquement une copie du fichier où la macro est installée .

    la macro ne convertit pas le fichier d'origine du répertoire mentionné .

    Je joins le fichier .ods d'origine et le fichier .xls généré par la macro dans le même répertoire .
    Fichiers attachés Fichiers attachés

  11. #11
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Je ne suis pas sûr de comprendre le problème; le fichier à exploiter est "LibreOfficeProcessing.xls". La macro qu'il contient transforme tous vos fichiers LibreOffice en fichiers Excel, de ce fait, toutes les caractéristiques seront celle de Excel, ce qui est évident.
    Puisque votre requête initiale stipule que vous voulez récupérer les données dans une feuille Excel, il vous reste dans une 2è étape à lire toutes les données des fichiers transformés pour les mettre dans votre nouvelle feuille de calcul. Mais ça, je suppose que vous savez le faire moyennant des formules Excel.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    peut-être que je ne pourrais pas expliquer clairement mon problème alors désolé . Je vais essayer d'expliquer à nouveau:

    J'ai besoin de récupérer des données d'un fichier libreoffice, c'est pourquoi, je dois convertir les fichiers du répertoire de recherche en fichiers .xls

    mais les données originales de fichiers .ods doivent être préservées.

    Je dois créer des liens vers les fichiers .ods afin de récupérer les valeurs qu'ils contiennent.

    mais les liens ne communiquent pas avec libreoffice, je dois donc convertir les fichiers de recherche en .xls

  13. #13
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Citation Envoyé par somme Voir le message
    J'ai besoin de récupérer des données d'un fichier libreoffice, c'est pourquoi, je dois convertir les fichiers du répertoire de recherche en fichiers .xls
    Effectivement, c'est ce que fait la macro.

    Citation Envoyé par somme Voir le message
    mais les données originales de fichiers .ods doivent être préservées.
    Les données sont préservées, mais avec les caractéristiques de Excel; cela va de soi. Est-ce que certaines valeurs sont perdues ? lesquelles ?

    Citation Envoyé par somme Voir le message
    Je dois créer des liens vers les fichiers .ods afin de récupérer les valeurs qu'ils contiennent.
    mais les liens ne communiquent pas avec libreoffice, je dois donc convertir les fichiers de recherche en .xls
    Il faut créer les liens entre le fichier que je vous envoyé (LibreOfficeProcessing.xls) dans lequel vous insérez une feuille dans laquelle vous mettez les liens avec les fichiers EXCEL crées par la macro (donc à ce stade-ci, vous oubliez les fichiers ODS et ne travaillez plus qu'avec les fichiers XLS.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    tu as observé dans mon post #10, Je mets ci-joint le fichier libreoffice d'origine (libre.ods) et le fichier Excel (libre.xls) après sa conversion .

    si vous regardez, vous pouvez vérifier que le fichier converti n'est pas une copie fidèle du fichier libreoffice transformé en XL .

    la macro a fonctionné mais n'a pas préservé les données du fichier d'origine (libre.ods) .

  15. #15
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    J'ai testé plusieurs fois, et j'obtiens toujours strictement les même données dans les 2 fichiers. Là, je ne peux pas aider ......
    Voici une version améliorée du fichier maître à utiliser (dont le répertoire est à adapter de nouveau dans VBA)
    Fichiers attachés Fichiers attachés

  16. #16
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    J'ai découvert pourquoi la macro de conversion du fichier .ods en .xls ne fonctionnait pas pour moi .

    lorsque je télécharge le fichier LibreOfficeProcessing.xls, il s'ouvre pour moi en mode protégé .

    Je vais quand même éditer, mais ça ne marche pas pour moi .

    ma mission est maintenant de pouvoir ouvrir le fichier en vue non protégée .

  17. #17
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Enregistrer mon fichier sur l'endroit que vous utilisez pour vos documents, puis
    1. Ouvrir Excel
    2. File\Options\Trust Center\Trust Center Settings\
    3. Click sur "Add New Location" et introduire le chemin complet (exemple: C:\Users\VotreUser\OneDrive\Documents\)
    4. Click sur "Subfolders of this location are also trusted"
    5. Terminer avec "Ok" autant de fois qu'il faudra.
    6. Essayer d'ouvrir le fichier en question, il sera non protégé!

  18. #18
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    J'ai suivi vos instructions, cela a vraiment fonctionné, maintenant il s'ouvre en mode non protégé .

    mais il ne génère toujours pas en .xls une copie fidèle du fichier .ods .

    la macro génère simplement un nouveau fichier .xls avec le même nom que le fichier .ods du dossier .

    mais ce sont les données d'origine du fichier contenant la macro .

    la macro ne convertit pas le fichier .ods original en .xls , elle utilise simplement nom du fichier .ods .

    la macro génère une copie du fichier contenant la macro elle-même, avec le nom du dossier .ods file qui est dans le dossier .

    J'ai effacé les noms de fichiers des cellules de votre fichier joint. La même chose s'est produite, c'est comme si la macro ne voyait même pas ces noms de fichiers dans les cellules pour effectuer la conversion .

  19. #19
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Zekraoui_Jakani, pouvez-vous s'il vous plaît me dire les détails de votre version de Excel que vous utilisez ?

    pouvez-vous laisser la même version de votre Excel jointe ici pour que je puisse la télécharger directement sur mon ordinateur ?

    parce que je vais essayer d'utiliser la même version d'Excel que vous utilisez .

    j'utilise Excel 2010 avec Windows 10 .

  20. #20
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Je suis sur Office365 (Excel2016). Impossible de télécharger la version car soumise à licence payante!
    Essayer d'ouvrir mon fichier initial (dans blog) et de l'enregistrer avec l'option "Macro enabled", je crois que c'est possible en excel2010.

Discussions similaires

  1. créer un lien dynamique avec JGraph
    Par imenmannou dans le forum 2D
    Réponses: 3
    Dernier message: 03/09/2008, 15h09
  2. Liens externes avec icônes pas d'affichage sous IE
    Par Olivier Regnier dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 06/06/2008, 22h17
  3. Problème lien externe avec IE
    Par m@t dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/04/2006, 15h10
  4. Comment créer un lien hypertexte avec une liaison OLE Excel ?
    Par vieuxsinge dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 08/12/2005, 17h16
  5. [DisplayTag] Créer un lien dynamique avec javascript
    Par babylone7 dans le forum Taglibs
    Réponses: 3
    Dernier message: 20/04/2005, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo