Applies ToAccess pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Remarque : La fonction, la méthode, l’objet ou la propriété décrite dans cette rubrique est désactivée si le service d’expression Microsoft Jet s’exécute en mode bac à sable, ce qui empêche l’évaluation d’expressions potentiellement dangereuses. Pour plus d’informations sur le mode bac à sable, recherchez « mode bac à sable » dans l’aide.

Renvoie une valeur de type String qui représente le nom d’un fichier, d’un répertoire ou d’un dossier qui correspond à un modèle ou à un attribut de fichier spécifié, ou à l’étiquette de volume d’un lecteur.

Syntaxe

Dir[(pathname [, attributes] )]

La syntaxe de la fonction Dir contient les arguments suivants :

Argument

Description

Chemin

Facultatif. Expression de chaîne qui spécifie un nom de fichier : peut inclure un répertoire ou un dossier et un lecteur. Une chaîne de longueur nulle («  ») est retournée si pathname est introuvable.

Attributs

Facultatif. Constante ou expression numérique, dont la somme spécifie les attributs de fichier. S’il est omis, retourne les fichiers qui correspondent à pathname , mais qui n’ont pas d’attributs.

Paramètres

Les attributsargument paramètres sont les suivants :

Constante

Valeur

Description

vbNormal

0

(Par défaut) Spécifie les fichiers sans attributs.

vbReadOnly

1

Spécifie les fichiers en lecture seule en plus des fichiers sans attributs.

vbHidden

2

Spécifie les fichiers masqués en plus des fichiers sans attributs.

VbSystem

4

Spécifie les fichiers système en plus des fichiers sans attributs. Non disponible sur Macintosh.

vbVolume

8

Spécifie l’étiquette du volume ; si un autre attribut est spécifié, vbVolume est ignoré. Non disponible sur Macintosh.

vbDirectory

16

Spécifie des répertoires ou des dossiers en plus des fichiers sans attributs.

vbAlias

64

Le nom de fichier spécifié est un alias. Disponible uniquement sur Macintosh.

Remarque :  Ces constantes sont spécifiées par Visual Basic pour Applications (VBA) et peuvent être utilisées n’importe où dans votre code à la place des valeurs réelles.

Notes

Dans Microsoft Windows, Dir prend en charge l’utilisation de caractères génériques à plusieurs caractères (*) et à caractère unique ( ?) pour spécifier plusieurs fichiers. Sur Macintosh, ces caractères sont traités comme des caractères de nom de fichier valides et ne peuvent pas être utilisés comme caractères génériques pour spécifier plusieurs fichiers.

Étant donné que Macintosh ne prend pas en charge les caractères génériques, utilisez le type de fichier pour identifier les groupes de fichiers. Vous pouvez utiliser la fonction MacID pour spécifier le type de fichier au lieu d’utiliser les noms de fichiers. Par exemple, l’instruction suivante retourne le nom du premier fichier TEXT dans le dossier actif :

Dir("SomePath", MacID("TEXT"))

Pour itérer sur tous les fichiers d’un dossier, spécifiez une chaîne vide :

Dir("")

Si vous utilisez la fonction MacID avec Dir dans Windows, une erreur se produit.

Toute valeur d’attribut supérieure à 256 est considérée comme une valeur MacID .

Vous devez spécifier pathname la première fois que vous appelez la fonction Dir , sinon une erreur se produit. Si vous spécifiez également des attributs de fichier, pathname doit être inclus.

Dir retourne le premier nom de fichier qui correspond à pathname. Pour obtenir des noms de fichiers supplémentaires qui correspondent à pathname, appelez de nouveau Dir sans arguments. Quand plus aucun nom de fichier ne correspond, Dir retourne une chaîne de longueur nulle («  »). Une fois qu’une chaîne de longueur nulle est retournée, vous devez spécifier pathname dans les appels suivants, sinon une erreur se produit. Vous pouvez passer à un nouveau nom de chemin d’accès sans récupérer tous les noms de fichiers qui correspondent au nom de chemin d’accès actuel. Toutefois, vous ne pouvez pas appeler la fonction Dir de manière récursive. L’appel de Dir avec l’attribut vbDirectory ne retourne pas continuellement de sous-répertoires.

Conseil     Étant donné que les noms de fichiers ne sont récupérés dans aucun ordre particulier, vous pouvez stocker les noms de fichiers retournés dans un matrice, puis trier le tableau.

Exemple

Remarque : Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de Rechercher et entrez un ou plusieurs termes dans la zone de recherche.

Cet exemple utilise la fonction Dir pour case activée si certains fichiers et répertoires existent. Sur Macintosh, « HD : » est le nom de lecteur par défaut et les parties du chemin d’accès sont séparées par deux-points au lieu de barres obliques inverses. En outre, les caractères génériques Windows sont traités comme des caractères de nom de fichier valides sur Macintosh. Toutefois, vous pouvez utiliser la fonction MacID pour spécifier des groupes de fichiers.

Dim MyFile, MyPath, MyName' Returns "WIN.INI" (on Microsoft Windows) if it exists.MyFile = Dir("C:\WINDOWS\WIN.INI")    ' Returns filename with specified extension. If more than one *.ini' file exists, the first file found is returned.MyFile = Dir("C:\WINDOWS\*.INI")' Call Dir again without arguments to return the next *.INI file in the ' same directory.MyFile = Dir' Return first *.TXT file with a set hidden attribute.MyFile = Dir("*.TXT", vbHidden)' Display the names in C:\ that represent directories.MyPath = "c:\"    ' Set the path.MyName = Dir(MyPath, vbDirectory)    ' Retrieve the first entry.Do While MyName <> ""    ' Start the loop.    ' Ignore the current directory and the encompassing directory.    If MyName <> "." And MyName <> ".." Then        ' Use bitwise comparison to make sure MyName is a directory.        If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then            Debug.Print MyName    ' Display entry only if it        End If    ' it represents a directory.    End If    MyName = Dir    ' Get next entry.Loop

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.