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 :

Remplir un tableau XLS


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Par défaut Remplir un tableau XLS
    Je débute dans l'apprentissage des interfaces avec Matlab (3 jours...), donc peut-être que ma question est simple ...
    Ce que j'ai fait pour le moment, c'est une interface toute simple avec des champs à remplir. Une fois ceux-ci remplis, j'ai un bouton "Save" (et j'utilise la fonction xlswrite), qui me permet de sauver les données dans mon fichier excel. Jusque là tout va bien.
    Le problème est quand je lance une deuxième fois l'application, et que je rentre de nouvelles données. Elles remplacent alors les données rentrées précédemment.
    Ce que je voudrais, c'est que quand je sauvegarde mes données, ça passe automatiquement à la ligne suivante dans mon fichier excel (qui est un tableau bien sûr).

    J'utilise donc :
    s = xlswrite('Results.xls', d,'Data', 'A10'); où d est une matrice de mes éléments

    Le problème vient donc du 'A10'. J'avais pensé à une boucle, mais je n'arrive pas à voir comment faire, ça se trouve c'est pas possible ...

    Donc si quelqu'un a une idée .... merci par avance !!!

  2. #2
    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
    Si le nombre de ligne a exporter vers Excel est constant à chaque fois, il te suffit d'incrémenter la valeur du range :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for n = 1:10
       range = sprintf('A%d',n)
    end
    Sinon, pour une solution plus flexible : [actxserver][Excel] Je veux connaitre la dernière cellule de ma feuille excel

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Par défaut
    Alors j'ai testé le code, mais ça fait bugger mon programme ... (mon application excel tournait en continu, bon après j'avais mis n de 1 à 1000 ... donc je pense qu'à 1000 ça se serait arrêté ; et j'avais donc le message "Un fichier nommé 'Results.xls existe déjà à cet emplacement. Voulez-vous le remplacer ?" qui apparaissait toute les seconde ... pourtant mon fichier excel n'était pas ouvert, et en l'ouvrant j'avais l'impression qu'il remplissait toutes les lignes à partir de A0, de la même information sauvegardée )
    Je me suis donc peut-être mal expliquée ... En fait à chaque fois que je sauve des données, je n'ai qu'une seule ligne à enregistrer. Donc quand j'appuie sur le bouton ''save'', j'ai une seule ligne de données.
    Donc moi je voudrais qu'à chaque fois que j'appuie sur "save", la nouvelle ligne de données soit sauvegardée à la suite de la précédente.

    s = xlswrite('Results.xls', d,'Data', 'A10');

    D'autre part je me suis rendue compte d'un autre problème, c'est qu'il faudrait que j'incrémente de 3 en 3, car j'ai fusionné des cellules dans mon tableau excel.

    Sinon j'ai regardé l'autre solution plus flexible, mais j'avoue que j'y ai pas compris grand chose ...
    Je vois pas comment je pourrais utiliser le code proposé :
    str=DataRange.Address
    [minCol,minLigne,maxCol,maxLigne]=strread(str(2:end),'%s%d:%s%d','delimiter','$')

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/12/2005, 16h39
  2. remplir un tableau sans doublons ...
    Par ryo-san dans le forum C
    Réponses: 22
    Dernier message: 10/11/2005, 12h43
  3. Remplir un tableau associatif
    Par photorelief dans le forum Langage
    Réponses: 1
    Dernier message: 04/11/2005, 18h20
  4. Lire et remplir un tableau
    Par harris_macken dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 26/09/2005, 01h10
  5. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 14h02

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