Bonjour Mostat78,
Sauf erreur, ta demande est de te mettre sur la piste et pas de faire à ta place et je te réponds dans ce cadre.
Si tu es sous Windows, une possibilité est d'utiliser l'objet "FileSystemObject" (il faut ajouter le référence "Microsoft Scripting Runtime") et ses nombreuses méthodes qui permettent de manipuler les dossiers et les fichiers. Pour traiter les fichiers, s'ils sont dans un seul dossier, il ne sera pas nécessaire de créer une procédure récursive pour parcourir les dossiers et sous-dossiers donc c'est plus simple.
Une manière d'aborder cette thématique est de :
- Recenser les élèves dans un tableau à 2 dimensions [ LesEleves(1 to 2, 1 to NbEleves) ]. Ce qui permet de faire un "Redim Preserve" du tableau en fonction du nombre d'élèves recensés.
- LesElèves(1, e) = le nom
- LesEleves(2, e) = False (témoin de création du dossier)
- Lister les fichiers dans un 2ème tableau à 2 dimensions [ LesFichiers( 1 To 2, 1 To NbFichiers) ]
- [ LesFichiers(1, i) le nom fichier
- [ LesFichiers(2, i) ] = L'indice de l'élève dans le 1er tableau s'il est identifié et sinon = -1). Les éléments dont l'indice d'élève sera à -1 pouvant être listés en fin de traitement pour éventuellement traiter manuellement ces fichiers ou si tu optes pour utiliser la méthode permettant de déplacer les fichiers, ceux qui ne seront pas reliés à un élève, seront encore présents dans le dossier de base.
- Boucler sur le tableau LesFichiers pour traiter les fichiers avec un élève identifié => créer le dossier si LesEleves(2, e) = False et mettre à True LesEleves(2, e) pour ne plus tenter de recréer le dossier. Puis copier / coller le dossier ou le déplacer.
- tester à partir d'une liste réduite d'élèves et de quelques fichiers mis dans un dossier de test pour ne pas courir le risque d'en perdre au cours des tests ...
Cdlt,
Cylfo