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

MATLAB Discussion :

Enregistrer au format .xls en ayant Excel 2007


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 23
    Par défaut Enregistrer au format .xls en ayant Excel 2007
    Bonjour,
    Ma question est la suivante : Comment fait-on pour enregistrer au format classeur Excel 1997-2003 (.xls) quand on a MS Office Excel 2007 ?
    J'utilise la fonction xlswrite qui enregistre au format 2007 avec une extension .xls
    Alors faute de savoir comment enregistrer au format 1997-2003 j'ai changé le ".xls" dans le fichier xlswrite.m en ".xlsx"
    Mais ça m'oblige ensuite à ouvrir le classeur Excel pour le convertir au format 1997-2003 car je travaille ensuite sur des PC avec MS Office 2003.
    Donc que pourrais-je modifier pour que ça enregistre directement au format Excel 1997-2003 ?
    Merci pour vos idées

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut
    Mon idée serait d'écrire dans un fichier texte avec des séparateurs de colonne par tabulations (/t) et des séparateurs de lignes par des retours à la ligne (/n).

    Ensuite tu ouvres ton fichier texte avec n'importe quel EXCEL où tu précises les séparateurs...

    C'est une idée...

    Christophe

  3. #3
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    +1 avec Christophe.

    Le plus simple étant d'utiliser CSVWRITE.

    Si tu as envie de te prendre la tête sinon il faut :
    - créer la macro correspondant au "sauver au format 2007" dans Excel
    - appeler cette macro en utilisant ActiveX

    Comment interfacer MATLAB avec Excel ?

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 251
    Par défaut
    Au moins 2 solutions :

    - Utiliser ActiveWorkbook.SaveAs Filename:="D:\Documents\Excel\Classeur1.xls", FileFormat:=xlExcel8

    - Installer sur les postes Office 2003, l'outil de conversion des format 2007, ainsi il sera possible d'ouvrir/enregistrer n'importe quel document Office 2007 avec le logiciel d'Office 2003 correspondant. L'outil est librement téléchargeable sur le site de Microsoft.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 23
    Par défaut
    Merci pour ces réponses

    Mes données à stocker sont des tableaux contenant des chaîne de caractères et des valeurs numériques.

    J'avais essayé la fonction csvwrite mais il me mettait "The input cell array cannot be converted to a matrix."
    Un peu le même pb pour le mettre dans un fichier texte : Je pense devoir être obligé de passer par une fonction de bas niveau soit "fprintf" et de refaire mes tableaux avec
    Il n'existe pas une fonction comme xlswrite qui me mette tout mon tableau dans un fichier .txt ?

    Pour l'avant dernière solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs Filename:="D:\Documents\Excel\Classeur1.xls", FileFormat:=xlExcel8
    où je met ces lignes de code ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Pour l'utilisation d'ActiveX, essaie cette fonction que tu sauvegardes dans un fichier savexlsas.m :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    function savexlsas(xlspath,xlsname,vers)
     
    error(nargchk(2,3,nargin))
     
    if nargin == 2
        vers = 'xlExcel8';
    end
     
    Excel = actxserver('Excel.Application');
    set(Excel, 'Visible', 0);
     
    Workbooks = Excel.Workbooks;
     
    Workbook = invoke(Workbooks, 'Open',fullfile(xlspath,xlsname));
     
    invoke(Workbook, 'SaveAs', 'myfile.xls',vers);
     
    invoke(Excel, 'Quit');
     
    delete(Excel);
    Pour un fichier dont le chemin serait D:\matlab\excel\test.xls tu l'appelles comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    savexlsas('D:\matlab\excel','test.xls')
    Je ne l'ai pas testée puisque je suis sous Linux mais en gros c'est l'idée.

    Pour plus d'informations sur ces commandes, regardes le lien correspondant dans le lien FAQ que Caroline t'a donné et tu dois chercher aussi dans la documentation Excel à la section Référence Visual Basic Microsoft Excel

Discussions similaires

  1. Enregistrer des fichier en DBF sous Excel 2007
    Par filigane dans le forum Excel
    Réponses: 1
    Dernier message: 20/09/2007, 10h56
  2. Réponses: 2
    Dernier message: 04/09/2006, 20h53
  3. sauvegarde d'un fichier excel csv sous le format xls
    Par blondelle dans le forum C++Builder
    Réponses: 5
    Dernier message: 01/08/2006, 11h30
  4. Réponses: 1
    Dernier message: 24/03/2006, 18h59
  5. [D6][Excel] Comment enregistrer en format csv ?
    Par ShinGaruda dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 04/05/2005, 19h59

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