Dir, fonction

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Remarque : Si le Service Microsoft Jet Expression s’exécute en mode sandbox, qui empêche l’évaluation des expressions potentiellement dangereuses de la fonction, une méthode, un objet ou une propriété décrites dans cette rubrique est désactivée. Pour plus d’informations sur le mode sandbox, recherchez « mode sandbox » dans l’aide.

Renvoie une chaîne qui représente le nom d’un fichier, le répertoire ou le dossier qui correspond à un modèle spécifié ou attribut de fichier ou le nom de volume d’un lecteur.

Syntaxe

Dir [()chemin d’accès [attributs] )]

La syntaxe de la fonction Dir comprend les arguments suivants :

Argument

Description

chemin d’accès

Facultatif. Expression qui spécifie un nom de fichier de chaîne — peut inclure le répertoire ou dossier et le lecteur. Une chaîne de longueur nulle (" ») est renvoyée si le chemin d’accès n’est pas trouvée.

attributs

Facultatif. Constante ou expression numérique, dont la somme spécifie les attributs de fichier. En cas d’omission, retourne les fichiers qui correspondent à chemin d’accès mais sans ont.


Paramètres

Attributs argument sont les suivantes :

Constante

Valeur

Description

vbNormal

0

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

vbReadOnly

1

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

vbHidden

2

Spécifie les fichiers caché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 le nom de volume. Si un autre attribut est spécifié, vbVolume est ignoré. Non disponible sur Macintosh.

vbDirectory

16

Spécifie les dossiers en plus des fichiers sans attributs.

vbAlias

64

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és n’importe où dans votre code à la place des valeurs réelles.

Remarques

Dans Microsoft Windows, Dir prend en charge l’utilisation de plusieurs caractères (*) ou un seul caractère (?) des caractères génériques pour spécifier plusieurs fichiers. Sur Macintosh, ces caractères sont considérées comme des caractères de nom de fichier valide et ne peuvent pas être utilisés comme des 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 renvoie le nom du premier fichier texte dans le dossier actif :

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

Pour effectuer une itération sur tous les fichiers dans 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 attributs supérieure à 256 est considérée comme une valeur MacID .

Vous devez spécifier chemin d’accès de la première fois que vous appelez la fonction Dir , ou une erreur se produit. Si vous spécifiez également des attributs de fichier, le chemin d’accès doit être inclus.

Dir renvoie le premier nom de fichier qui correspond au chemin d’accès. Pour obtenir des noms de fichier supplémentaires correspondants, rappelez Dir aucun argument. Lorsque plus aucun fichier correspond, Dir renvoie une chaîne de longueur nulle (« »). Une fois qu’une chaîne de longueur nulle est renvoyée, vous devez spécifier le chemin d’accès dans des appels ultérieurs ou une erreur se produit. Vous pouvez modifier à un autre chemin d’accès sans extraire les noms de fichier correspondant au chemin d’accèsen cours. Toutefois, vous ne pouvez pas appeler la fonction Dir de manière récursive. Si vous appelez Dir avec l’attribut vbDirectory ne renvoie pas continuellement les sous-répertoires.

Conseil     Étant donné que les noms de fichiers sont extraits dans un ordre spécifique, vous souhaiterez peut-être stocker des noms de fichier renvoyé dans un tableau, et puis trier le tableau.

Exemple

Remarque : Exemples suivants illustrent l’utilisation de cette fonction dans une Visual Basic pour le module d’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 recherche et entrez un ou plusieurs termes dans la zone de recherche.

Cet exemple utilise la fonction Dir pour vérifier si certains fichiers et répertoires existent. Sur Macintosh, « HD : » est le nom du lecteur par défaut et segments du chemin d’accès sont séparés par un signe deux-points au lieu de barres obliques inverses. En outre, les caractères génériques Windows sont considérées comme des caractères de nom de fichier valides sur Macintosh. Toutefois, vous pouvez utiliser la fonction MacID pour spécifier les 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

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×