Récuperer le premier dossier à partir d'un chemin

Bonjour,

Je souhaite récupérer le premier dossier apparaissant à partir d'un chemin et mettre le nom de ce dossier dans un label

Je détail, dans un chemin, j'ai une liste de dossier, je souhaite récupérer le premier (Normalement mes dossiers sont triés par ordre alphabétique), mettre le nom du dossier dans un label

Avez-vous une idée?

bonjour,

à adapter

   chemin = "c:\downloads\"
    nomfichier = Dir(chemin & "*.*")
    label1.Caption = nomfichier

Merci pour ton aide mais toi tu recherche le premier fichier alors que moi je veux le premier dossier se trouvant à l'intérieur de "chemin"

Salut Ronibo

Pour

Sub Nom_Dossier()

Dim Liste
Dim SsDossier as variant
Dim Dossier as object

Liste = Array()

Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(<Chemin d'accès au dossier>)

For Each SsDossier In Dossier.SubFolders
    ReDim Preserve Liste(UBound(Liste) + 1)
    Liste(UBound(Liste)) = SsDossier .Name
Next Fichier
End Sub

Dans Liste tu auras tous les sous-dossiers (SubFolders) dans ton dossier renseigné dans GetFolder(...)

Si tu veux les fichiers tu remplaces SubFolders par Files

Si tu veux que l'utilisateur aille sélectionner le dossier utilise application.getopenfilename

https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.getopenfilename

Dans mon test les dossiers étaient bien par ordre alphabétique, du coup pour récupérer le premier fichier tu prends Liste(0)

Si jamais tu avais des problèmes de tri des dossiers je t'invite à consulter cette page

https://www.excel-pratique.com/fr/astuces_vba/trier-tableau-array

bonjour,

moi je veux le premier dossier se trouvant à l'intérieur de "chemin"

cela m'avait échappé

Bonjour Ronibo, le Forum,

Ci-dessous le code pour ton besoin. Il ressort dans un message d'information le 1ier Dossier se trouvant sur un chemin donné.

Sub Dossier()
Chemin = "C:\Users\X_Cellus\Suite\"  'A personnaliser
RechDos = Dir(Chemin, vbDirectory)
Do While RechDos <> ""
If InStr(1, RechDos, ".") = 0 And (GetAttr(Chemin & RechDos) And vbDirectory) = vbDirectory Then PremDos = RechDos: Exit Do
RechDos = Dir
Loop
Rep = MsgBox(PremDos, vbInformation, "Premier Dossier")
End Sub

Tu peux évidemment te passer de l'avant-dernière ligne (MsgBox) et utiliser PremDos dans ton label.

Bons tests, bonne continuation.

re bonjour,

ce code fonctionne parfaitement merci à tous

Rechercher des sujets similaires à "recuperer premier dossier partir chemin"