Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion parisiendu24
  • 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 !

P

parisiendu24

Guest
Bonsoir,

J'ai découvert le langage VBA cette année en cours d'informatique niveau Master.
Je l'utilise régulièrement afin de progresser et aujourd'hui j'ai voulu créer un fichier capable de répertorier tous mes films contenus dans un fichier.
Et je n'y parviens pas!
Il me semble que la fonction Dir est adéquate mais je ne la maîtrise pas du tout.
Mon objectif est donc de pouvoir parcourir le fichier où sont mes films est de prendre le nom de chacun afin de les répertorier sur ma feuille.


D'avance merci!


Laurent
 
Re : aide code VBA

Bonjour parisiendu24, le forum,

J'ai déjà eu besoin de parcourir tous les fichiers d'un dossier, et perso, j'avais utilisé FileDialog et l'objet FSO pour indiquer le chemin du fichier :
Code:
dim dosFilm as string
dim FSO, dossier, fichier as object

'ouvre une boite de dialogue permettant d'indiquer le chemin du dossier contenant les films
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Show
dosFilm = Application.FileDialog(msoFileDialogFolderPicker).InitialFileName
'on libère la mémoire
Set Repertoire = Nothing

'definition des variables et indication du chemin du dossier contenant les fichiers films
Set FSO = CreateObject("Scripting.FileSystemObject")
Set dossier = FSO.GetFolder(dosFilm)
       
'boucle sur les fichiers films contenus dans le dossier
For Each fichier In dossier.Files
     'là, tu lui indiques d'inscrire à la bonne place Fichier.Name, mais tu auras le nom du film avec l'extension. 
     'Je n'ai pas su lui dire de ne pas mettre l'extension, donc perso, j'avais contourné le pb comme ça : 
     'Left(fichier.name, (Len(fichier.name) - lExtension)) avec lExtension = 4
next

En espérant que ça puisse être une piste pour toi,

Bonne soirée,
Saya
 
Re : aide code VBA

Saya, dis moi j'ai essayé ton code mais je ne parviens pas à le mettre en place.
Il faut juste que je saisisse mon chemin d'accès dans Set FSO = CreateObject("Scripting.FileSystemObject") dans les guillemets ?
 
Re : aide code VBA

Bonjour à tous,

Excuse moi, parisiendu24, je n'ai pas pu me reco hier soir.

Non, il ne faut pas toucher à cette ligne. En gros, lorsque tu lances le code, il ouvre une fenêtre de navigation te permettant d'indiquer l'emplacement de ton dossier. Il s'agit de la partie :
Code:
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Show
dosFilm = Application.FileDialog(msoFileDialogFolderPicker).InitialFileName
'on libère la mémoire
Set Repertoire = Nothing

Ton chemin d'accès sera renseigné dans la variable dosFilm. Mais tu ne peux pas faire de boucle for each sur cette variable. Donc on passe par l'objet "FSO" et ses méthode.

En faisant comme ça, ça évite d'avoir à indiquer un chemin d'accès en dur dans le code. Au moins, si un jour tu changes d'emplacement le dossier contenant tes films, tu n'as pas à changer le code pour pouvoir le réutiliser.

Mais si tu veux vraiment spécifier ton chemin d'accès en dur dans le code, il te suffit de supprimer la partie du code que je viens d'indiquer et simplement de renseigner ta variable dosFilm avec ton chemin d'accès (dosFilm = "ton chemin d'accès").

J'espère avoir été un peu plus claire que dans mon message précédent, j'avoue que j'avais peut-être été un peu avare d'explications ^_^;

Bonne journée,
Saya
 
Re : aide code VBA

Bonjour Saya,

Merci d'avoir pris le temps de me répondre.
Quand j'ai mis ton code dans VBA et que j'ai lancé la macro cela m'a dit qui'l y avait une erreur et m'a donc mis la ligne suivante en jaune:
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)

Pour faire court, en admettant que je veuille faire apparaître tous mes films dans la feuille "Films" à partir de la cellule "B3" à l'activation de la macro "Archiver", quel sera le code précis? Je te pose la question car je débute et sur ce code je galère très fort. A noter que je bosse sur Office 2011 sur MAC (peut être que ça bloque cette macro mais je dois récupérer mon vieux PC la semaine prochaine).


Merci d'avance


Laurent
 
- 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

Réponses
32
Affichages
1 K
Réponses
10
Affichages
1 K
Réponses
10
Affichages
645
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…