Bonjour,
Comme dans le titre, je souhaite appeler plusieurs feuilles dans un fichier excel sous forme d'une boucle, comment le faire svp (avec quelles fonctions, et sous forme de quelle structure) ?
D'avance merci,
Discussion :
Bonjour,
Comme dans le titre, je souhaite appeler plusieurs feuilles dans un fichier excel sous forme d'une boucle, comment le faire svp (avec quelles fonctions, et sous forme de quelle structure) ?
D'avance merci,
Bonjour Doctorant_GC,
Pour lire une feuille en particulier dans un fichier Excel en Matlab, il te suffit de préciser son nom dans la fonction xlsread :
A présent, si tu ne connais pas à l'avance les noms de la feuille du fichier Excel, tu peux les trouver en utilisant la fonction xlsfinfo et faire une boucle sur les noms de feuilles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 cheminDuFichierExcel = 'C:\Users\UserName\Documents\excelTest.xlsx'; % Chemin vers le fichier excel nomDeLaFeuille = 'Feuil2'; % Nom de la feuille que tu souhaites charger [nombre, chaineDeCaractere, toutType] = xlsread(cheminDuFichierExcel, nomDeLaFeuille) % Lecture de la feuille 'Feuil2' du fichier Excel 'excelTest.xlsx'
En espérant avoir répondu à ta question,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [~,nomsFeuilles,~] = xlsfinfo(cheminDuFichierExcel); % Trouver les noms des feuilles (type cell) for i=1:size(nomsFeuilles,2) % Pour chaque nom de feuilles [~,~,toutesLesFeuilles{i}] = xlsread(cheminDuFichierExcel,cell2mat(nomsFeuilles(1,i))) % charger la feuille et la stocker dans une cellule end toutesLesFeuilles{2} %Permet d'accéder à la feuille 2 du fichier Excel
Maintenant que je sais faire la lecture d'une feuille dans un fichier excel,
comment faire une boucle pour faire un même calcul sur chaque feuille, c a d, si j'ai par exemple X feuilles dans mon fichier excel, je fais une boucle for pour passer de la première feuille à la deuxième jusqu'à atteindre la dernière (X em) ?
Bonjour Doctorant_GC,
Dans la continuité de ce que j'ai écrit hier, tu peux faire ceci :
La fonction "calculSurFeuille" effectuant l'action que tu souhaites faire sur chaque feuille de ton fichier excel (tri de données, ...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [~,nomsFeuilles,~] = xlsfinfo(cheminDuFichierExcel); % Trouver les noms des feuilles de ton fichier Excel (type cell) for i=1:size(nomsFeuilles,2) % Pour chaque nom de feuilles [~,~,ValeurFeuilles] = xlsread(cheminDuFichierExcel,cell2mat(nomsFeuilles(1,i))) % charger la feuille i resultat{i} = calculSurFeuille(ValeurFeuilles{:}) % faire les calculs sur la feuille et enregistrer les résultats end
Partager