Voici une fonction qui retourne la plage de cellules utilisées dans la feuille courante d'un fichier xls :

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
function [minCol,minLigne,maxCol,maxLigne]=getcellsrange(xls)
 
if exist(xls,'file')~=2
    error('Can''t read xls file');
end
 
Excel = actxserver( 'Excel.Application' );
 
invoke(Excel.Workbooks, 'open', xls);
 
DataRange = Excel.ActiveSheet.UsedRange;
DataRange.Address
[minCol,minLigne,maxCol,maxLigne]=strread(DataRange.Address(2:end),'%s%d:%s%d','delimiter','$')
 
invoke(Excel,'quit');
delete(Excel);
Le nom du fichier doit être le nom complet avec tout le chemin.

A utiliser comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
xls = 'C:\...\...\...\test.xls';
[minCol,minLigne,maxCol,maxLigne] = getcellsrange(xls);