XL 2016 Ordre de parcours d'une collection

  • Initiateur de la discussion Initiateur de la discussion Chose38
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Chose38

Guest
Bonjour à tous.

Je rencontre une difficulté dans l'exploitation de "For each"

For Each d In Dossier.SubFolders
For Each oFile In d.Files​
.....​
.....​
Next oFile​
next d


Ces boucles fonctionnent parfaitement mais je souhaiterais pour obtenir le résultat escompté que le parcours dans les collections "Dossier.SubFolders" et "D.Files" se fasse selon un ordre de type alphabétique ce qui n'est pas le cas.
Merci par avance pour votre aide.

Yves
 
Dernière modification par un modérateur:
Bonjour Chose, et bienvenu sur XLD,
J'ai bien peur qu'un For Next ne puisse trier, vous aurez les fichiers "en vrac" suivant probablement la date de création ou un autre paramètre.
Une piste possible en PJ qui engrange les noms dans un array puis ensuite trie cet array.
Avec deux options prises :
1- Ne tient pas compte de la casse, sinon modifier ligne
VB:
If LCase(Liste(i)) < LCase(Liste(j)) Then
2- Ne tient pas compte du nom de dossier pour construire la liste, sinon modifier ligne :
Code:
Liste(IndexL) = FileItem.Name ' Ou avec nom dossier : FileItem.ParentFolder & "\" & FileItem.Name
Tout dépend de votre besoin. Pour tester, pensez à modifier la ligne :
Code:
ListeFichiers "C:\Users\PC_PAPA\Desktop\XLD\"   ' METTRE ICI LE CHEMIN DU DOSSIER A ANALYSER
 

Pièces jointes

Merci sylvanu pour la réponse ... rapide en + et qui correspond à ce que je pensais c.a.d. l'utilisation d'une ArrayList à la place d'une collection de Folders afin de pouvoir la trier avant de l'exploiter mais cela risque d'être assez coton à réaliser.
Pour les options :
  1. La casse : pas de souci.
  2. Pour les répertoires, c'est la que cela se corse
Il s'agit de traiter une liste d'environ 60 000 morceaux musicaux répartis en fonction de plusieurs critères​
  • les auteurs qui correspondent au sous répertoire de niveau 1,
  • les sous répertoires de l'auteur qui correspondent à la série des œuvres en niveau 2,
  • les sous répertoires de la série des œuvres qui correspondent à chacune des œuvres de la série en niveau 3,
  • les sous répertoires de chaque œuvre qui correspondent aux divers cd de chaque œuvre en niveau 4
  • les divers morceaux de chaque CD en niveau 5
Mais enfin y'a plus qu'à le faire !!!
Merci encore!
 
Merci kiki29 !
pour l'info du code de JB.
C'est, grosso modo, ce que j'ai déjà réalisé et qui fonctionne très bien avec comme seul problème que le résultat est un peu "en vrac" (selon l'expression de sylvanu...). L'ordre de sortie de chaque folder ou fichier (généré par le For Each... Next) se fait d'une façon qui ne doit pas être aléatoire mais sans doute selon la date de la dernière modification (?) ce qui n'est pas conforme à ce que je souhaite...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
1
Affichages
1 K
S
C
Réponses
1
Affichages
1 K
Cattleya97
C
C
  • Question Question
Réponses
10
Affichages
2 K
chandler282
C
F
Réponses
14
Affichages
3 K
FlorianQ
F
P
Réponses
0
Affichages
884
panpipes
P
M
Réponses
2
Affichages
697
M
Retour