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 :

Lecture d'un excel et variables dans le workspace


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ecole d'ingénieur formation Maîtrise des Energies
    Inscrit en
    Juillet 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ecole d'ingénieur formation Maîtrise des Energies

    Informations forums :
    Inscription : Juillet 2018
    Messages : 28
    Points : 32
    Points
    32
    Par défaut Lecture d'un excel et variables dans le workspace
    Bonjour,

    Avec MATLAB je viens lire un fichier excel qui contient plusieurs feuilles (chaque feuille à un titre spécifique).
    Le but est que les données de la première feuille soient contenues dans une première variable, que les données de la seconde feuille soient contenues dans une seconde variable, etc.

    Je sais comment faire cela mais pas de façon automatique :

    Exemple :

    Dans mon fichier excel, ma feuille 1 s'appelle "Patate", ma feuille 2 s'appelle "Courgette", ma feuille 3 s'appelle "Navet".
    Je viens chercher les données de chaque feuille et je créer des variables du même nom que les feuilles:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    [~,Patate,~] = xlsread('Database.xlsx',1);
    [~,Courgette,~] = xlsread('Database.xlsx',2);
    [~,Carotte,~] = xlsread('Database.xlsx',3);
    [~,Navet,~] = xlsread('Database.xlsx',4);

    Dans l'idée, ce que j'aimerai faire c'est quelque chose comme ça (pour x feuilles avec à chaque fois un titre spécifique) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    [~,onglets,~] = xlsfinfo('Database.xlsx');
    [~,taille] = size(onglets);
     
    for i=1:taille
         [~,onglets(i),~] = xlsread('Database.xlsx',i);
    end
    Le but étant que onglet(i) soit le nom de la feuille i... Mais je bloque...

    Avez-vous des idées ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    alors deux pour creer dynamiquement une variable à partir de son nom sous forme de chaine de caractère tu peux :
    - utiliser la fonction eval
    - si tu acceptes de regrouper ces fonctions dans une structure, utiliser la syntaxe s.('patates') = ..., qui te créé le champs patates dans la structure s

    personnellement je préfère la seconde

Discussions similaires

  1. problème de sauvegarde de variable dans le workspace
    Par accessbeginner dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 08/06/2015, 14h17
  2. variable dans le workspace
    Par oliv27400 dans le forum MATLAB
    Réponses: 2
    Dernier message: 10/07/2013, 14h00
  3. [Débutant] affichage des variables dans le Workspace
    Par camelia136 dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/07/2011, 11h03
  4. [Débutant] Sauver des variables dans le Workspace
    Par Eco_prince dans le forum MATLAB
    Réponses: 6
    Dernier message: 18/10/2008, 12h24
  5. [Embedded Function] Gérer une variable dans le Workspace
    Par prince013 dans le forum Simulink
    Réponses: 9
    Dernier message: 23/04/2008, 10h14

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