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 :

Recuperer vecteurs excel et les mettre dans une structure


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Recuperer vecteurs excel et les mettre dans une structure
    Bonjour,
    Je doit mettre des Bdd dans une structure, mon problème c'est que quand il s'agit d'un vecteur j’écrase les valeurs, je sais pas comme lui dire que c'est un vecteur.....

    voila mon code....

    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
    function Bdd = recupBdd_beta() 
     
    colTag_Bdd=3;
    col_Bdd=5;
     
    fichier_Bdd_OBa='Z:\Docs projet\CdC catalogue OR\BDD\NDC_CatalogueOR_Bdd_OndeorBA_V01.02.06.xls';
     
    %% OBa
    [a , b , Bdd_OBa] = xlsread ( fichier_Bdd_OBa, 2);
        for n=1:size(Bdd_OBa,1)
            if ~isnan(Bdd_OBa{n,colTag_Bdd})
                Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})=Bdd_OBa{n,col_Bdd};
                if ~isnan (Bdd_OBa{n,col_Bdd+1})
                    for m=col_Bdd:size(Bdd.OBa.(Bdd_OBa{n,colTag_Bdd}))
                        Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})=Bdd_OBa{n,m};
                    end
                end
            end
        end
    merciiii

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for m=col_Bdd:size(Bdd.OBa.(Bdd_OBa{n,colTag_Bdd}))
    serait plutôt size(Bdd_OBa,2) je pense.

    Mais tu peux te passer de cette boucle et faire simplement (avec des parenthèses !) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})=Bdd_OBa(n,:);
    Par contre ce contenu viendra aussi écraser celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})=Bdd_OBa{n,col_Bdd};
    à toi de voir comment tu souhaites organiser tout ça dans Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})...

  3. #3
    Candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Merci pour la reponse!

    Malheureusement,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})=Bdd_OBa(n,:);
    je peux pas l'utiliser parce que mes valeurs commencent à la colonne 5, donc prendre toutes les colonnes ça m'arrange pas....

    Et j'ai déjà essayé mais c'est pas le problème...il continue a récupérer un valeur (et les écraser après) et pas tous les valeurs du vecteur....

    Des idées???
    Merci encore!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par garcia_diez Voir le message
    je peux pas l'utiliser parce que mes valeurs commencent à la colonne 5, donc prendre toutes les colonnes ça m'arrange pas....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})=Bdd_OBa(n,col_Bdd:end);


    Citation Envoyé par garcia_diez Voir le message
    c'est pas le problème...il continue a récupérer un valeur (et les écraser après) et pas tous les valeurs du vecteur....

    Des idées???
    Citation Envoyé par Winjerome Voir le message
    Par contre ce contenu viendra aussi écraser celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})=Bdd_OBa{n,col_Bdd};
    à toi de voir comment tu souhaites organiser tout ça dans Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})...
    Chose que je ne peux pas deviner...
    [EDIT] Juste au cas où : à noter que j'utilise des parenthèses et non accolades.

  5. #5
    Candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci,

    ça marche, sauf que maintenant j'ai des vecteurs de 22 composants même si il y a qu'un seul valeur, il y a une façon de s’arrêter quand on a plus de valeurs??

    Merci encore

  6. #6
    Invité
    Invité(e)
    Par défaut
    À moins que le contenu d'origine Bdd_OBa soit ainsi, il n'y a pas de raison pour que ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bdd.OBa.(Bdd_OBa{n,colTag_Bdd})=Bdd_OBa(n,col_Bdd:end);
    tout seul te donne des cellules vides.
    Dans ce cas on pourra remplacer cette ligne par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bdd.OBa.(Bdd_OBa{n,colTag_Bdd}) = getFirstNonEmpties( Bdd_OBa(n,col_Bdd:end) );
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getFirstNonEmpties = @(c) c(1 : find(~cellfun(@isempty,c),1,'last') );

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/06/2014, 16h18
  2. Recuperer le nom des onglets pour les mettre dans une colonne
    Par nico4566 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/03/2011, 18h23
  3. scanner des dossiers et les mettre dans une liste
    Par niklos0 dans le forum Programmation et administration système
    Réponses: 1
    Dernier message: 08/09/2008, 15h34
  4. Réponses: 5
    Dernier message: 21/02/2007, 17h12
  5. Réponses: 3
    Dernier message: 09/09/2006, 14h24

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