Problème lors de la lecture d'un fichier Excel
Bonjour à tous,
J'ai un problème lors de la lecture d'un fichier Excel.
Dans un premier temps je créer le contenu d'une liste déroulante (dans une interface) en prenant ce qu'il y a dans la première colonne du fichier Excel :
Code:
1 2 3 4 5
|
[~,txt,~] = xlsread('Database.xlsx','Feuil1','A:A'); % lecture du fichier Excel
set(handles.popupmenu1,'String',txt); % création de la liste déroulante |
Puis, après sélection du contenu de la liste déroulante, je viens rechercher dans le fichier Excel cette sélection, et afficher sur l'interface (à l'aide d'un static text) le contenu de la cellule à droite de la cellule contenant la sélection :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
contents=get(handles.popupmenu1,'String');
selection = contents{get(handles.popupmenu1,'Value')}; % selection contient le choix sélectionné dans la liste déroulante
[row,col] = find (cellfun('length',regexp(txt,selection)) == 1); % recherche de la position de la cellule qui contient la sélection dans le tableau Excel
ligne = num2str(row);
Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
letter = Alphabet(col+1); % transformation du numéro de colonne en lettre pour pouvoir faire une recherche dans le tableau Excel
cellule = [letter,ligne]; % création de la position où il y a la recherche qu'on veut afficher
[~,txt,~] = xlsread('Database.xlsx', onglet ,cellule); % lecture de la recherche que l'on souhaite
set(handles.text2,'String',txt); % écriture dans un static text |
Cela marche dans 75% des cas mais parfois le contenu de 'row' n'est pas bon.. Par exemple, au lieu de me pointer la 3 ème ligne de l'excel (ou il y a la sélection que l'on recherche) il me pointe la 4ème ligne de l'excel ou il n'y a rien dedans..
Avez-vous une idée d'où cela peut venir ?
PS : Matlab me retourne également une erreur car row et col sont "Empty matrix: 0-by-1"
Merci